如何使用下拉列表重定向,而不是按钮?

时间:2009-02-09 20:48:12

标签: c# .net asp.net

我期待只使用ddl来运行我的查询,而不是ddl和Button_Click函数。我还没找到该怎么做。我该怎么做?

3 个答案:

答案 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

,您都可以在代码隐藏中对此做出回应。