使用会话将列表框项从一个asp.net页面传输到另一个

时间:2014-06-06 17:33:14

标签: asp.net session listbox listboxitem

使用会话将列表框项目从一个asp.net页面传输到另一个页面。我想将列表框的项目从一个asp.net页面转移到另一个。代码以某种方式抛出错误。列表框中的项目也未被检索。我想用复选框列表做同样的事情。希望列表框问题有助于[我解决这个问题。请指教。

第一页

<asp:ListBox ID="SelectedItems" runat="server" SelectionMode="Multiple"/>     
<asp:Button ID="sbmtButton" runat="server" Text="Submit" Width="152px" OnClick="sbmtButton_Click" />
第一页

.cs

protected void sbmtButton_Click(object sender, EventArgs e)
{Session["wrd"] = SelectedItems;Server.Transfer("~/aftrSubmit.aspx";);}

第二页

第二页

.cs

protected void Page_Load(object sender, EventArgs e)
{if (!this.IsPostBack){Prescription_list = (ListBox)Session["wrd"];}}

1 个答案:

答案 0 :(得分:0)

第一页ASPX代码:

<asp:ListBox ID="SelectedItems" runat="server" SelectionMode="Multiple">
    <asp:ListItem Text="A"></asp:ListItem>
    <asp:ListItem Text="B"></asp:ListItem>
    <asp:ListItem Text="C"></asp:ListItem>
</asp:ListBox>
<asp:Button ID="sbmtButton" runat="server" Text="Submit" Width="152px" OnClick="sbmtButton_Click" />

首页C#代码隐藏:

protected void sbmtButton_Click(object sender, EventArgs e)
{
    ListItem[] x = new ListItem[SelectedItems.Items.Count];

    SelectedItems.Items.CopyTo(x, 0);

    Session["wrd"] = x;

    Server.Transfer("~/aftrSubmit.aspx");
}

第二页ASPX代码:

<asp:ListBox ID="Prescription_list" runat="server" SelectionMode="Multiple"/>

第二页C#代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
   if (!this.IsPostBack)
   {
       ListItem[] x = (ListItem[])Session["wrd"];

       Prescription_list.Clear();
       Prescription_list.Items.AddRange(x);
    }
}