2016-03-19 19 views
2

Ich versuche, SelectedIndexChanged aus dem Code hinter einer Web Forms-Anwendung festzulegen. Ich habe eine variable Anzahl von Dropdowns, die von der Datenbank auf die Seite hinzugefügt werden und eine Methode benötigen, um jedes Mal zu triggern, wenn sich eines der Dropdowns ändert. derzeitASP.NET C# Set OnSelectedIndexChanged von Code hinter

Im Versuch:

ddlProductCause.SelectedIndexChanged += new EventHandler(ddlProductCause_Changed); 
ddlProductCause.ID = "ddlProductCause_" + row["item_id"].ToString(); 
ddlProductCause.AutoPostBack = true; 

und ...

public void ddlProductCause_Changed(object sender, CommandEventArgs e) 
    { 
     // do stuff 
    } 

Aber ich habe kein Glück.

Irgendwelche Ideen?

+0

Haben Sie alle Ihre Dropdown-Listen abonnieren? –

+0

Ich setze jedes Drop mit einer eindeutigen ID? – Adam92

+0

Bitte senden Sie Ihren 'Page_Load' Methodencode. –

Antwort

4

Ereignis Argument dies verursachen kann, verwenden EventArgs

protected void ddlProductCause_Changed(object sender, EventArgs e){ 
    //to get id 
    DropDownList ddl=sender as DropDownList; 
    //ddl.Id <---Access property like this. 
} 
+0

Brilliant, dies löst das Ereignis aus, wie kann ich die ID des Dropdowns erhalten, die die Methode ausgelöst hat? dh << ddlProductCause.ID = "ddlProductCause_" + Zeile ["item_id"]. ToString(); >> – Adam92

+0

scheint dies fehlgeschlagen zu sein, die ID-Zeile - Objekt auf Null gesetzt. – Adam92

+0

'ddl' Objekt ist null? –

Verwandte Themen