繁体   English   中英

活动不会在第一次回发时触发,但之后会触发

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM