В Visual C#, как определить, существует ли массив в сеансе? На сайте есть TextBox, вы можете написать имя. Когда вы нажимаете кнопку «Click», она добавляет имя в ярлык. Предположим, я добавляю одно и то же имя, и он должен показать мне сообщение в ярлыке, например «Имя уже существует!». Что мне делать? Я читал о методе «содержит», но не работал так хорошо для меня. Какую ошибку я делаю?Проверить, существует ли массив в сеансе
Следующий код:
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'? –
Я хочу сохранить более одного имени. Класс символов - это просто: public class Character { public string name {get; задавать; } } – Rider
В этом случае я бы посоветовал вам прочитать вторую часть моего ответа и перейти к «списку». –