我有以下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;
}
该方法由于某种原因不会触发。我选择了一个不同的值,没有任何反应。我想要做的是重新加载传递状态值的页面,以便我可以通过它过滤结果。
我做错了什么?
答案 0 :(得分:25)
将AutoPostBack=True
设置为您的DDL的属性,它将自动回发所选的索引更改事件
答案 1 :(得分:2)
将此添加到下拉列表aspx中会导致将请求发送到服务器并且您的事件将被触发。
AutoPostBack="true"
答案 2 :(得分:2)
答案 3 :(得分:1)
AutoPostBack="true"
和
写页面加载事件
if (!IsPostBack)
{
DDL_Designation_Bind();
}
//因为autopostback
属性触发加载事件,然后我们的dropdownlist
重新绑定并始终选择索引0所以不重新绑定dropDownlist