在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不知道空值已被「由用戶」設置的事實有關,因此它假定它需要加載默認佈局文件。這只是一個猜測。 –