Не удалось установить «Сеанс» в проекте ASP MVC - PullRequest
0 голосов
/ 15 марта 2019

Я новичок в asp.net MVC.Я хочу использовать «Сеанс» для хранения пользовательского ввода, но получаю ошибку:

«Имя« 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 Что я пропускаю или делаю неправильно?Спасибо

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Переменная Session выдаст вам ошибку «Имя« System.Web.HttpContext.Current.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();
0 голосов
/ 15 марта 2019

Изменение с

System.Web.HttpContext.Current.Session["sessionString"] = name;

на

HttpContext.Session.SetString("sessionString", name);

или

HttpContext.Session["sessionString"] = name;

Поскольку в Controller класс имеет свойство HttpContext

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...