ASP.NET中的会话变量

时间:2013-11-09 22:34:32

标签: c# asp.net visual-studio session-variables

嗨,我想把我的会话放到下拉列表中,任何帮助都会很棒。 目前它将数据放入标签中,我希望将其放入下拉列表中,每次单击按钮时添加新字符串而不删除最后一个

默认页面

protected void Button1_Click1(object sender, EventArgs e)
{
    Session["Fruitname"] = TbxName.Text; // my session i have made
}

输出页面

protected void Page_Load(object sender, EventArgs e)
{
    var  fruitname =  Session["Fruitname"] as String; // my session ive made
    fruit.Text = fruitname; // session used in lable
}

尝试过了

           var myFruits = Session["Fruitname"] as List<string>;
        myFruits.Add(listbox1.Text);

但是当我尝试运行程序时出现错误

碎玻璃感谢你的帮助,它仍然没有做我需要的东西,但它到了那里。

 var fruitname = Session["Fruitname"] as String; // my session ive made
           fruit.Text = string.Join(",", fruitname); // session used in lable

这是有效的。我需要一个下拉列表来显示放入TbxName.Text的所有字符串;输出到水果

2 个答案:

答案 0 :(得分:4)

然后使用List<string>而不是字符串。

 var myFruits = Session["Fruitname"] as List<string>;
 myFruits.Add(TbxName.Text);

答案 1 :(得分:0)

已使用其他地方找到的代码修复了

按钮页面代码

 protected void Button1_Click1(object sender, EventArgs e)
    {

       // Session["Fruitname"] = TbxName.Text; // my session i have made

        MyFruit = Session["Fruitname"] as List<string>;
        //Create new, if null
        if (MyFruit == null)
            MyFruit = new List<string>();

        MyFruit.Add(TbxName.Text);

        Session["Fruitname"] = MyFruit;
{
public List<string> MyFruit { get; set; }
}

显示页面

 protected void Page_Load(object sender, EventArgs e)
    {


        MyFruit = Session["Fruitname"] as List<string>;
        //Create new, if null
        if (MyFruit == null)
            MyFruit = new List<string>();
        ListBox1.DataSource = MyFruit;
        ListBox1.DataBind();


    }

    public List<string> MyFruit { get; set; }
}