在select标签上分配onSelectedIndexChacged事件

时间:2015-03-29 05:13:38

标签: c# html asp.net

1.我正在使用标签控件在页面后面的代码中创建一个选择标记:

Label1.Text += "< select >< option >one< /option>< option > two < /option >< option >three< /option>< /select>";

+ =创建了许多选择下拉列表 我想在这些Drop Downs上联系onSelectedIndexChanged事件,并希望设置Autopostback =“true”。 请帮我。

2 个答案:

答案 0 :(得分:2)

试试这个:

HTML标记:

<asp:Label ID="Label1" runat="server"></asp:Label>

在您的代码隐藏中:

protected void Page_Load(object sender, EventArgs e)
{
    DropDownList loDDL1 = new DropDownList();
    loDDL1.ID = "ddl1";
    loDDL1.AutoPostBack = true;
    loDDL1.Items.Add(new ListItem("one", "1"));
    loDDL1.Items.Add(new ListItem("two", "2"));
    loDDL1.SelectedIndexChanged += new EventHandler(loDDL1_SelectedIndexChanged);
    Label1.Controls.Add(loDDL1);

    DropDownList loDDL2 = new DropDownList();
    loDDL2.ID = "ddl2";
    loDDL2.AutoPostBack = true;
    loDDL2.Items.Add(new ListItem("three", "3"));
    loDDL2.Items.Add(new ListItem("four", "4"));
    loDDL2.SelectedIndexChanged += new EventHandler(loDDL2_SelectedIndexChanged);
    Label1.Controls.Add(loDDL2);
}

void loDDL1_SelectedIndexChanged(object sender, EventArgs e)
{
    // your code
}

void loDDL2_SelectedIndexChanged(object sender, EventArgs e)
{
    // your code
}

答案 1 :(得分:0)

有更好的方法来实现你想要做的事情。

在代码后面创建一个下拉列表,并在其中自行填充。

在您的网络表单上为此下拉列表添加占位符。

使用placeholder1.controls.add()函数添加控件。

并将标签的可见性设置为false。

现在你有了你的下拉列表的引用,只需订阅它选择的索引更改事件。