【发布时间】:2011-02-01 22:12:57
【问题描述】:
我需要根据当前文化更改使用的母版页。我可以通过覆盖 View、OnResultExecuting 或 OnActionExecuting 来相当轻松地做到这一点,这对我的大多数页面都适用。
我的问题是我有几个不使用母版页的视图,我显然不想为这些视图设置母版页。如果视图具有母版页,我无法在代码中查找 - masterName 在所有情况下都是 null 或空字符串。
有什么想法吗?
【问题讨论】:
我需要根据当前文化更改使用的母版页。我可以通过覆盖 View、OnResultExecuting 或 OnActionExecuting 来相当轻松地做到这一点,这对我的大多数页面都适用。
我的问题是我有几个不使用母版页的视图,我显然不想为这些视图设置母版页。如果视图具有母版页,我无法在代码中查找 - masterName 在所有情况下都是 null 或空字符串。
有什么想法吗?
【问题讨论】:
试试这个...
public ActionResult Home()
{
MyModel model = new MyModel{MasterPage="SomeMaster"};
returnView(model);
}
<%@ Page Title="" Language="C#" MasterPageFile="/Views/Shared/<%= model.MasterPage %>" Inherits="System.Web.Mvc.ViewPage" %>
这样,如果您没有定义母版页,它不会更改它:)
【讨论】: