Подтвердить что ты не робот

MVC4 - ContextDependentView - Что это значит?

Я только начал использовать MVC4, и первый метод действия, на который я смотрю, имеет что-то новое. Я проверил интернет и не могу найти ничего об этом:

public ActionResult LogOn()
        {
            return ContextDependentView();
        }

Кто-нибудь знает, что такое ContextDependentView?

Что-то новое для меня.

4b9b3361

Ответ 1

Цель состоит в том, чтобы облегчить результаты поиска View или PartialView для действий входа и регистрации.

    private ActionResult ContextDependentView()
    {
        string actionName = ControllerContext.RouteData.GetRequiredString("action");
        if (Request.QueryString["content"] != null)
        {
            ViewBag.FormAction = "Json" + actionName;
            return PartialView();
        }
        else
        {
            ViewBag.FormAction = actionName;
            return View();
        }
    }

Как и другие вещи в MVC, это делается по соглашению... соглашение здесь, когда Request.QueryString содержит ?content=xxxx, он добавляет "Json" к имени действия, наполняет его свойством ViewBag и возвращает частичное версии представления. Например:

Запрос /Account/Login?content=test будет разрешен к ViewBag.FormAction = "JsonLogin";, а затем возвращен частичный.

В запросе для /Account/Login нет строки запроса контента, поэтому ее действие формы остается ViewBag.FormAction = "Login";