2016-05-19 9 views
0

私の生成されたコントロールが最初のクリックでSelectedIndexChangedイベントを発生させず、その後に忠実に動作するという非常に奇妙な問題が発生します。次のようにイベントは最初のポストバックでは発生しませんが、その後に発生します

コードは次のとおりです。

//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; 
    } 
} 

とイベント:

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

} 
+2

あなたのドロップダウンに 'AutoPostBack = 'True'はありますか? – Ansari

答えて

1

私は最初のクリックでコントロールのIDが異なり、2番目のクリックで変更されることが判明しました。それはよりよく説明されましたhere

-1

私はuがドロップダウンリストのためのAutoPostBackを使用いけないと思います。本当の値に設定する必要があります

関連する問題