ASP.NET下拉列表将参数传递给下一页

时间:2014-01-04 14:12:58

标签: asp.net drop-down-menu

我只是在经过一系列更多“支持”相关活动后重新开始发展,所以我有点生疏了。我有一个项目,我需要一些帮助。

我正在构建一个跟踪捐赠者临床数据的Web应用程序(没有名称或任何东西,只有通用ID,例如每个患者的PT001)。我有一个页面,其中包含我已绑定到查询的下拉列表。标签是'患者姓名',值是ID(例如,标签为PT001,值为1)。我希望将此视为“跳转菜单” - 当用户进行选择时,回发后会强制重定向到一个页面,在该页面中列出所有访问的该患者的所有临床值。

我已经整理出如何编写第二页的代码,以便它只选择我传递的任何ID的数据,但我正在努力使用第一页的重定向语法。

这是DropDownList代码:

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="Names" DataTextField="Name" DataValueField="Id"></asp:DropDownList>

我希望它“跳转”到名为SearchByName.aspx?ID=的页面,然后将所选的ID号添加到URL的末尾。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

OnSelectedIndexChanged="DropDownList1_OnSelectedIndexChanged"添加到您的控件中。

<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_OnSelectedIndexChanged" AutoPostBack="True" DataSourceID="Names" DataTextField="Name" DataValueField="Id"></asp:DropDownList>

然后将以下方法添加到您的代码隐藏中:

protected void DropDownList1_OnSelectedIndexChanged(object sender, EventArgs e)
{
    if (!String.IsNullOrEmpty(DropDownList1.SelectedValue))
        Response.Redirect("SearchByName.aspx?ID=" + DropDownList1.SelectedValue);
}