ASP.Net DropDownList OnSelectedIndexChange未触发

时间:2013-04-23 15:18:04

标签: c# asp.net

我有以下DropDownList控件:

<asp:label runat="server" text="Filter by state: "></asp:label>
<asp:dropdownlist runat="server" id="filterbystate" 
    OnSelectedIndexChanged="FilterByState">
    <asp:ListItem value="all" selected="True">All</asp:ListItem>
    <asp:ListItem value="ca" selected="False">California</asp:ListItem>
    <asp:ListItem value="co" selected="False">Colorado</asp:ListItem>
    <asp:ListItem value="id" selected="False">Idaho</asp:ListItem>
    <asp:ListItem value="ut" selected="False">Utah</asp:ListItem>
</asp:dropdownlist>

以下是方法:

protected void FilterByState(object sender, EventArgs e)
{
    var value = e;
}

该方法由于某种原因不会触发。我选择了一个不同的值,没有任何反应。我想要做的是重新加载传递状态值的页面,以便我可以通过它过滤结果。

我做错了什么?

4 个答案:

答案 0 :(得分:25)

AutoPostBack=True设置为您的DDL的属性,它将自动回发所选的索引更改事件

答案 1 :(得分:2)

将此添加到下拉列表aspx中会导致将请求发送到服务器并且您的事件将被触发。

AutoPostBack="true"

答案 2 :(得分:2)

您只需设置AutoPostBack = True

即可

来自ListControl.AutoPostBack属性;

  

获取或设置一个值,该值指示是否回发到服务器   当用户更改列表选择时自动发生。

答案 3 :(得分:1)

AutoPostBack="true"

写页面加载事件

if (!IsPostBack)
{
   DDL_Designation_Bind();   
}

//因为autopostback属性触发加载事件,然后我们的dropdownlist重新绑定并始终选择索引0所以不重新绑定dropDownlist