如何将Listbox的所有项目传递到另一个页面中的文本框? ASP.NET

时间:2016-05-12 09:53:22

标签: c# asp.net web listbox

我有一个带有两个Web表单的asp.net项目。我想将listbox3(这是主页)的所有项目传递给统计页面中的文本框。我尝试下面的代码,但没有工作。

主页:

protected void Button5_Click(object sender, EventArgs e)
        {
            Response.Redirect("Statistics.aspx?ListBox3");
        }

统计页面

   public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            TextBox3.Text = ListBox3.Items;

        }
    }

2 个答案:

答案 0 :(得分:0)

您无法使用其ID引用当前页面中没有的任何控件。 因此,可能需要将会话中的ListBox项保留在会话中,或通过QueryString

传递

主页

protected void Button5_Click(object sender, EventArgs e)
{
   string Items = string.Empty;
   foreach(var item in ListBox3.Items) 
   {
      Items += item + ",";
   }
   //Session["ListBox3"] = Items;
   Response.Redirect("Statistics.aspx?ListBox3=" + Items);
}

统计页面

protected void Page_Load(object sender, EventArgs e)
{
   TextBox3.Text = Request.QueryString["ListBox3"].ToString();
   //TextBox3.Text = Session["ListBox3"].ToString();
}

答案 1 :(得分:0)

protected void Button5_Click(object sender, EventArgs e)
{
    string allItems;
    for(int i = 0; i < ListBox3.Items.Count; i++)
        allItems += ListBox3.Items[i].ToString() + "--";
    Response.Redirect("Statistics.aspx?ListBox3=" + allItems.SubString(0, allItems.Length - 2));
}

使用

访问它
public partial class WebForm1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TextBox3.Text = Request.QueryString["ListBox3"];
    }
}