我有这个asp net drp框:
<asp:DropDownList ID="ddlLayersList"
runat="server"
BackColor="#FFFFC0"
CssClass="form-control fullwidth" OnTextChanged="ddlLayersList_SelectedIndexChanged" >
</asp:DropDownList>
这是我填写投递箱的方式:
private void SetLayers(Dictionary<string, string> layers)
{
ddlLayersList.DataSource = layers;
ddlLayersList.DataValueField = "Key";
ddlLayersList.DataTextField = "Value";
ddlLayersList.DataBind();
ddlLayersList.Items.Insert(0, "-Select Item-");
}
这是事件背后的代码:
protected void ddlLayersList_SelectedIndexChanged(object sender, EventArgs e)
{
}
当我从下拉框中选择项目时,事件未触发。
知道我在DropDownList
上更改选择时为何未触发事件吗?
答案 0 :(得分:3)
您需要将AutoPostBack属性设置为True
。
<asp:DropDownList ID="ddlLayersList" AutoPostBack="True">
此属性的值:
true,如果每当 用户更改列表的选择;否则为假。默认值 是错误的
此外,您需要设置OnSelectedIndexChanged
事件而不是OnTextChanged
:
<asp:DropDownList ID="ddlLayersList"
AutoPostBack="true" runat="server"
OnSelectedIndexChanged="ddlLayersList_SelectedIndexChanged">
答案 1 :(得分:1)
除了设置Z = np.random.random(10)
Z.sort()
以启用自动回发外,还设置AutoPostBack="true"
事件处理程序而不是OnSelectedIndexChanged
(请注意,它们都不是同一事件):
OnTextChanged