Html.Partial работает неправильно при использовании с макетом - PullRequest
0 голосов
/ 17 марта 2012

Я устанавливаю свойство Layout страницы, как показано ниже.Потому что у меня есть несколько разных макетов, поэтому этот отличается от ViewStart.cshtml.

@{     Layout = "~/Views/Shared/_BaseLayout.cshtml"; }

Проблема возникает, если один из моих взглядов вызывает это представление частично.Даже вызов страницы по Html.Partial вызывает визуализацию частичной страницы с ее макетом.

Мне кажется, что это можно считать ошибкой или неправильным решением в ASP.Net MVC framework.

Я ищу способ исправить это элегантным способом.У меня есть свой собственный CustomWebViewPage, который пересылается из WebViewPage.Я переопределил свойство Layout, и если я могу понять, что представление называется частичным, я могу установить свойство Layout равным NULL для решения этой проблемы.Но я не уверен, что как я могу понять это в моем CustomWebViewPage.

Конечно, мы можем передавать информацию с помощью ViewData, чтобы сказать, что она является частичной или нет, но это не совсем элегантный способ.

1 Ответ

1 голос
/ 17 марта 2012

Если вы вызываете ваше представление, используя функцию «возвращать частичное представление ()», оно отображается без макета.

public ActionResult MyPartialView()
{
    return PartialView();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...