Как получить доступ к HttpContext из контроллера в ASP.NET MVC - PullRequest
0 голосов
/ 08 октября 2019

В asp.net как я могу получить текущий httpcontext для страницы, на которой я нахожусь?

Я попытался дать соответствующему контроллеру httpcontext в качестве аргумента, но это не работает. Я нашел много людей, описывающих, как указать объект, но я просто не могу найти никакой информации о том, как httpcontext должен быть добавлен в контроллер (например, в аргументе или около того)

это не работает

    public class MovieController : Controller
    {
            public ActionResult Random(HttpContext mycontext)
        {

            RandomMovieViewmodel rmvm = new RandomMovieViewmodel();


            return View(rmvm);
        }

Как мне получить доступ к контексту? я должен сделать атрибут?

1 Ответ

0 голосов
/ 08 октября 2019

Определение контроллера здесь действительно важно.

Например, в .Net Core 2.2 с контроллером, производным от ControllerBase, HttpContext представлен как свойство.

Я не уверен насчет вашей среды или определения вашего класса, но он всегда похожв Asp.Net MVC. Просто убедитесь, что вы правильно определили свой класс Controller.

UPDATE

Когда вы наследуете класс Controller, HttpContext отображается как свойство. Вы можете напрямую использовать его.

public class TestController : Controller
{
    public ActionResult Index()
    {
        var context = HttpContext;

        return View();
    }
}
...