【问题标题】:passing dropdown listitem value to another page [closed]将下拉列表项值传递到另一个页面[关闭]
【发布时间】:2014-01-06 06:30:48
【问题描述】:

我有两页..在第一页有下拉菜单:

<asp:DropDownList ID="ddlStatus" runat="server">
    <asp:ListItem >All</asp:ListItem>
    <asp:ListItem Selected="True" >Active</asp:ListItem>
    <asp:ListItem >InActive</asp:ListItem>
</asp:DropDownList>

从第二页到第一页我必须使用查询字符串将 InActive listitem 作为输入传递

lnkmyCandidates.NavigateUrl = "~/Employer.aspx?value="InActive";

我不知道如何将非活动作为输入传递到第一页。

【问题讨论】:

  • 你的意思是:如果查询字符串中有一个值,你需要在下拉列表中添加一个带有 that 值的列表项吗?
  • 问题不清楚,你想要什么?您是否希望在使用 ddlSatus 进入页面时,您需要一个查询字符串,其中应将固定值 InActive 作为查询字符串传递?或者是其他东西 ???你还需要展示你到目前为止为实现它付出的努力
  • 我需要 inactive 作为固定值

标签: c# asp.net webforms


【解决方案1】:

首先我的建议是传递列表框的值而不是文本,值通常更简单并且没有标点符号/空格之类的东西。

您到第二页的链接是正确的,但请确保您发回该链接,以便在用户在复选框中选择新选项后重新生成链接。我假设您想使用下拉菜单的值

lnkmyCandidates.NavigateUrl = string.Concat("~/Employer.aspx?value=", ddlStatus.SlectedValue);

从查询字符串接收值的代码是

string suppliedValue = this.Request.QueryString["value"];

【讨论】:

  • 我得到 ddlstatus 在当前上下文中不存在
  • ddlstatus 是您在第一页上的下拉菜单
【解决方案2】:

将选定的索引存储在会话中并从另一个页面获取

如何将值设置到会话变量中

Session["variable"] = dropdown selected value

以及如何在页面加载功能中检索它

if (Session["variable"] != null)
{
 localVariable = (int)Session["variable"];
}

【讨论】:

  • 虽然这肯定会解决个人问题,但我不喜欢这种方法。它涉及向查询字符串参数适合的会话添加不必要的数据。
猜你喜欢
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多