如何将dropdownlist值传递到另一个页面

本文关键字:另一个 值传 dropdownlist | 更新日期: 2023-09-27 18:00:45

我有一个带按钮的DropDownList:

<form id="form1" runat="server">
      <asp:DropDownList ID="DropDay" runat="server"/>
      <input type="submit" value="Save" runat="server" id="btn"/>
</form>

页面的C#代码:

protected void Page_Load(object sender, EventArgs e)
{
    btn.ServerClick+=new EventHandler(btn_ServerClick);
}
void btn_ServerClick(object sender, EventArgs e)
{
    HttpContext value= HttpContext.Current;
    value.Items.Add("Day", DropDay.SelectedValue);
    Server.Transfer("ASP_2.aspx");
}

在ASP_2中,我有一个标签,我需要设置所选的Dropdownlist值。这是ASP_2.aspx的代码:

protected void Page_Load(object sender, EventArgs e)
{
    HttpContext value= HttpContext.Current;
    lblDay.Text = value.Items["Day"].ToString();
}

问题是,该值始终是下拉列表中的第一项。如何设置所选值

编辑

我填写下拉列表的方式代码进入Page_Load:

DropDay.Items.Clear();
for (int i = 1; i <= 10; i++)
{
    DropDay.Items.Add(i.ToString());
}

如何将dropdownlist值传递到另一个页面

填充DDL的代码应该(至少)是:

if (!IsPostBack)
{
  DropDay.Items.Clear();
      for (int i = 1; i <= 10; i++)
      {
          DropDay.Items.Add(i.ToString());
      }
}

希望这将有助于

您可以在第一页中使用它:

Server.Transfer("ASP_2.aspx?dropdown="+DropDay.SelectedValue);

and in the second page
 protected void Page_Load(object sender, EventArgs e)
{
  string val=Request.QueryString["dropdown"].toString();
}

也许您将dropdownlist的autopostback属性保留为true。

我自己想好了,只需要删除"DropDay.Items.Clear();"

    //DropDay.Items.Clear(); removed this line and the thing was fixed
for (int i = 1; i <= 10; i++)
{
    DropDay.Items.Add(i.ToString());
}

你尝试过DropDay吗。已选择项目。文本