在Visual C#中,如何检测Session中是否存在数组?该网站有一个文本框,你可以写一个名字。当您点击“点击”按钮时,它会在标签中添加名称。假设我添加了相同的名称,并且它应该在标签中显示一条消息,如“名称已存在!”。我该怎么办?我阅读了“包含”方法,但对我来说效果不佳。我犯了什么错误?检查数组是否已经存在于会话中
下面的代码是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnClick_Click(object sender, EventArgs e)
{
if (Session["listOfCharacters"] == null)
{
Session.Add("listOfCharacters", new List<Character>());
}
List<Character> listOfCharacters = (List<Character>)Session["listOfCharacters"];
listOfCharacters.Add(new Character() { name = txtName.Text});
lblShow.Text = "";
foreach (Character item in listOfCharacters)
{
lblShow.Text += "Name: " + item.name + "<br />";
//if (listOfCharacters.Contains(Session["listOfCharacters"]))
//{
// lblShow.Text = "Exists";
//}
}
}
}
相信我,我花了几小时或几天内,但还没有找到它的解决方案呢。
你想在会话中保留多少个名字?只有1(最后一个)或更多? 'Character'类是做什么的? – 2013-05-05 11:31:37
我想保留多一个名字。字符类仅仅是这样的:public class Character { public string name {get;组; } } – Rider 2013-05-05 11:38:08
我这种情况下,我会建议你会读我的答案的第二部分,并与'列表'去。 –
2013-05-05 11:40:56