#c# #asp.net-mvc
#c# #asp.net-mvc
Вопрос:
Я новичок в asp.net MVC. Я хочу использовать «Session» для хранения пользовательского ввода, но я получаю сообщение об ошибке:
«Имя ‘System.Web.HttpContext.Current.Session’ не существует в текущем контексте.»
Следующий код в моем StudentController.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;
using System.Web.Mvc;
using WebAppMVC.Models;
namespace WebAppMVC.Controllers
{
public class StudentController : Controller
{
string name = "New Name";
System.Web.HttpContext.Current.Session["sessionString"] = name;
}
}
Я пробовал с Current.Session
, а также только Session
Что я пропускаю или делаю неправильно? Спасибо
Ответ №1:
Переменная сеанса выдаст вам сообщение об ошибке «Имя ‘System.Web.HttpContext.Current.Session’ не существует в текущем контексте.» если вы используете переменную session вне метода ActionResult. Сеанс используется в классе веб-страницы, который имеет доступ к свойству Page.Session, или в любом классе, который имеет доступ к свойству HttpContext.Current.
Итак, ваш код должен быть похож :
public class StudentController : Controller
{
public ActionResult Index()
{
string name = "New Name";
System.Web.HttpContext.Current.Session["sessionString"] = name;
}
}
Таким образом, вы можете использовать сеанс и получать к нему доступ.
Вместо этого вы можете написать:
string name = "New Name";
Session["sessionString"] = name;
И получить доступ к переменной сеанса с помощью :
var session = Session["sessionString"].ToString();
Комментарии:
1. Это помогает мне.
Ответ №2:
Изменить с
System.Web.HttpContext.Current.Session["sessionString"] = name;
Для
HttpContext.Session.SetString("sessionString", name);
или
HttpContext.Session["sessionString"] = name;
Потому что в Controller
классе есть свойство HttpContext
Комментарии:
1. пожалуйста, запустите nuget для asp.net mvc dll с помощью установочного пакета Microsoft. AspNet.Mvc
2. @Hien Nguyen Все работает не так, это должно быть в соответствующем разделе для использования.