![](/img/trans.png)
[英]ASP.NET CompositeControl: Firing 2 (or more) events after postback
[英]Events not firing on the first postback, but will fire after that
我遇到了一个很奇怪的问题,即我生成的控件在第一次单击时不会触发其“ 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;
}
我找到了答案,发现第一次单击时控件的ID是不同的,而在第二次单击时就被更改了。 这里更好的解释
我认为您不要将Autopostback用于下拉列表。 您需要设置为真实值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.