0

我正在为 webForm 使用 asp.net 和 c#。我正在动态生成一个 dropDownList,但我无法为此控件执行事件。下面是一些代码:

DropDownList nuevoCmb = new DropDownList();
nuevoCmb.ID = "ddl" + num;
nuevoCmb.Items.Add("---Seleccione el Plazo---");
nuevoCmb.Items.Add("Corto Plazo");
nuevoCmb.SelectedIndex = 0;
nuevoCmb.AutoPostBack = true;
nuevoCmb.SelectedIndexChanged += new EventHandler(nuevoCmb_OnSelectedIndexChanged);
MainPanel.Controls.Add(nuevoCmb);

protected void nuevoCmb_OnSelectedIndexChanged(object sender, EventArgs e)
{
    string temp = "";
}
4

3 回答 3

0

您需要将创建控件的代码添加到每个页面请求,包括回发。如果控件导致回发并且未调用重新创建控件的代码,则您的事件处理程序将不会触发。一旦在页面加载期间添加了具有相同 ID 的控件,.NET 最终将调用您的事件处理程序。

于 2013-02-07T20:03:45.967 回答
0

Init您应该在页面事件中或之前添加动态添加的控件。如果您在页面Load事件期间添加,它也可以工作。事件发生后Load,您的自定义控件事件会冒泡并触发。因此,如果您要动态添加控件,则必须在每个回帖中添加它们,Load最迟在页面事件结束之前加载它们。

于 2013-02-07T20:04:55.463 回答
0

我在以下页面中找到了答案:在 ASP.Net 中创建动态下拉列表控件

此示例功能齐全,但只有一个 asp html 页面,无法使用母版页。任何建议!

于 2013-02-11T12:41:20.800 回答