我期待只使用ddl来运行我的查询,而不是ddl和Button_Click函数。我还没找到该怎么做。我该怎么做?
答案 0 :(得分:6)
在你的(p / c)x:
中<asp:DropDownList runat="server"
id="ddl"
OnSelectedIndexChanged="SelectionChanged"
AutoPostBack="true">
<asp:ListItem Text="Page 1" Value="/page1.aspx" />
<asp:ListItem Text="Page 2" Value="/page2.aspx" />
</asp:DropDownList>
“AutoPostBack”属性告诉ASP.NET连接一个客户端(javascript)命令,该命令在下拉列表更改后立即提交表单,而不是等待按钮单击。
在你的代码隐藏中,我们在“OnSelectedIndexChanged”属性中引用的事件处理程序将被触发:
protected void SelectionChanged(object sender, EventArgs e)
{
Response.Redirect(((DropDownList)sender).SelectedValue);
}
答案 1 :(得分:2)
将AutoPostBack属性设置为true,然后挂钩到OnSelectedIndexChanged事件
<asp:DropDownList
id="dropDownList1"
runat="server"
AutoPostBack="true"
OnSelectedIndexChanged="dropDownList1_SelectedIndexChanged" />
服务器端
void dropDownList1_SelectedIndexChanged
(Object sender, EventArgs e) {
//run your query
}
答案 2 :(得分:0)
确保您的下拉列表将“AutoPostback”属性设置为true。当用户从下拉列表中选择项目时,这将导致页面回发。无论您想要什么样的事件,Page_Load或DDL自己的OnSelectedIndexChanged
,您都可以在代码隐藏中对此做出回应。