在asp.net MVC 3有没有一种方法来覆盖从控制器或操作过滤器的视图中设置的布局声明?如何覆盖视图布局声明
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
我试图覆盖在OnResultExecuted的MasterName财产或类似下面的代码片段的OnResultExecuting,但无济于事。
public override void OnResultExecuting(ResultExecutingContext filterContext) { var view = filterContext.Result as ViewResult; view.MasterName = null; }
你知道为什么设置MastName为空不起作用吗? – Victor
我不确定,但我认为它与MVC不知道空值已被“由用户”设置的事实有关,因此它假定它需要加载默认布局文件。这只是一个猜测。 –