0
ControllerC/ActionA的標準MVC模式當控制器代碼剛剛聲明返回時,View()將查找ControllerC/ActionA.cshtml。我想這樣做,如果這樣的視圖不存在,它會尋找一些像Shared/Default.cshtml這樣的默認視圖。我怎樣才能做到這一點?MVC默認查找特定視圖
ControllerC/ActionA的標準MVC模式當控制器代碼剛剛聲明返回時,View()將查找ControllerC/ActionA.cshtml。我想這樣做,如果這樣的視圖不存在,它會尋找一些像Shared/Default.cshtml這樣的默認視圖。我怎樣才能做到這一點?MVC默認查找特定視圖
我不知道MVC 5,但你可以從RazorViewEngine創建自定義類。
public class MyFallbackLocationViewEngine : RazorViewEngine
{
public MyFallbackLocationViewEngine()
{
// Keep default locations and add our own fallback view
List<string> newLocations = new List<string>(ViewLocationFormats);
newLocations.Add("~/Views/Shared/Default.cshtml");
this.ViewLocationFormats = newLocations.ToArray();
}
}
並將其添加到您的Application_Start:只要
// Clear default engines and add only yours
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new MyFallbackLocationViewEngine());
你可以自定義您的視圖引擎,你lilke儘可能多的和覆蓋等方法
謝謝,我會測試這個和報到我可以 –
不客氣。告訴我,如果它適用於MVC5 –
工程就像一個魅力,非常感謝你 –