У меня есть статический класс в моем решении, который в основном использует класс помощника /ultility.
В нем у меня есть следующий статический метод:
// Set the user
public static void SetUser(string FirstName, string LastName)
{
User NewUser = new User { Name = String.Format("{0}{1}", FirstName, LastName) };
HttpCookie UserName = new HttpCookie("PressureName") { Value = NewUser.Name, Expires = DateTime.Now.AddMinutes(60) };
}
Пользователь - это простой класс, содержащий:
String _name = string.Empty;
public String Name
{
get { return _name; }
set { _name = value; }
}
Все работает до тех пор, пока я не попытаюсь написать файл cookie "PressureName" и вставьте в него значение из NewUser.Name. Из того, что вы переходите через код, кажется, что cookie никогда не записывается.
Я делаю очевидную ошибку? Я все еще очень любитель в С#, и любая помощь будет очень признательна.
Создание объекта cookie недостаточно, чтобы отправить его в браузер. Вы также должны добавить его к объекту Response.
Поскольку вы находитесь в статическом методе, у вас нет прямого доступа к контексту страницы и его свойства Response
. Используйте свойство Current
для доступа к Контексту текущей страницы из статического метода:
HttpContext.Current.Response.Cookies.Add(UserName);