1
我遇到了自定義ViewEngine的問題。我嘗試覆蓋FindView方法來設置主視圖,而不必在每個視圖頁面中定義它。asp.net mvc 2:在WebFormViewEngine的FindView中設置母版頁
public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache)
{
if (string.IsNullOrEmpty(masterName))
{
masterName = this.MasterView;
}
return base.FindView(controllerContext, viewName, masterName, useCache);
}
從調試器查看一切都看起來不錯:我沒有設置視圖頁上的財產的MasterPageFile,masterName進來一個空字符串,masterName被設置爲this.MasterView(其被通過初始化設置查看引擎)。
問題是:瀏覽器顯示「僅在引用母版頁的內容頁面中允許內容控件」。沒有調試器出現。
有誰知道爲什麼或者這是甚至是預期的行爲?
在此先感謝!
是的,我就是這麼做的。 – bzlm 2010-09-30 11:25:19
是的......也許有一種方法可以改變viewengines或類似的東西的優先級,所以沒有必要清楚......誰知道;-) – 2010-10-06 07:25:48