1

ボタン付きの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には、選択したドロップダウンリスト値を設定する必要があるラベルがあります。そして、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());
}
4

5 に答える 5

1

DDL を埋めるためのコードは (少なくとも) である必要があります。

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

これが役立つことを願っています

于 2013-02-24T20:56:53.130 に答える
0

これは最初のページで使用できます。

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();
}
于 2013-02-24T20:42:52.457 に答える
0

「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());
}
于 2013-02-24T20:55:35.487 に答える
0

おそらく、ドロップダウン リストの autopostback プロパティを true のままにしました。

于 2013-02-24T20:51:02.970 に答える
-1

DropDay.SelectedItem.Text を試しましたか?

于 2013-02-24T20:30:49.207 に答える