2016-05-19 8 views
0

Ich habe ein ziemlich merkwürdiges Problem, bei dem mein generiertes Steuerelement sein SelectedIndexChanged-Ereignis beim ersten Klick nicht auslöst, aber danach pflichtbewusst weiterarbeitet.Ereignisse, die nicht beim ersten Postback ausgelöst werden, aber danach ausgelöst werden

Der Code ist wie folgt:

//Generate list 
ddl.Items.Add(new ListItem(" ", " ")); 
for(int i =1 ; i < 13 ; i ++) 
{ 
    ddl.Items.Add(new ListItem(i.ToString(),i.ToString())); 
} 
//ddl.SelectedIndex = -1; 
tc2.Controls.Add(ddl); 
tr.Cells.Add(tc2); 

//Keep position after postback 
for (int i = 1; i < 13; i++) 
{ 
    if (i.ToString() == sNoOfPreviousMonths) 
    { 
     ddl.SelectedIndex = i; 
    } 
} 

Und das Ereignis:

void ddlNoOfPreviousMonths_SelectedIndexChanged(object obj, EventArgs e) 
{ 
    DropDownList x = obj as DropDownList; 
    sNoOfPreviousMonths = x.SelectedValue; 

} 
+2

Ist 'AutoPostBack = 'True'' für Ihr Dropdown? – Ansari

Antwort

1

Ich fand die Antwort, stellt sich heraus, dass auf den ersten Klick die ID des Steuerelements ist anders und wird auf den zweiten Klick geändert. Es ist besser erklärt here

-1

ich denke, u Autopostback für Dropdownlist nicht verwenden. Sie müssen den Wert

haben
Verwandte Themen