根据文化更改ASP.NET MVC母版页

时间:2011-01-31 11:35:07

标签: asp.net-mvc master-pages

我需要根据当前文化更改使用的母版页。我可以通过覆盖View,OnResultExecuting或OnActionExecuting来相当容易地做到这一点,这适用于我的大多数页面。

我的问题是我有几个不使用母版页的视图,我显然不想为这些视图设置母版页。如果视图有母版页,我在查找代码时遇到问题 - 在所有情况下,masterName都是null或者是emtpty字符串。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

试试这个......

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" %>

这样,如果您没有定义母版页,则不会更改它:)