0
我有一個asp.net web api應用程序,也呈現一些剃鬚刀頁面。
默認情況下,有兩個默認引擎(webform \ razor),並且在渲染我的剃鬚刀頁面時沒有問題。
自定義和剃刀視圖引擎混亂而組合兩個
現在我需要支持一些使用自定義引擎呈現的舊aspx \ ascx頁面。
所以,當我引導我的申請,我這樣做:
// Remove the default web form engine
ViewEngines.Engines.Remove(ViewEngines.Engines.OfType<WebFormViewEngine>().FirstOrDefault());
// Add my custom engine
ViewEngines.Engines.Add(ApplicationContainer.Resolve<CustomViewEngine>());
我的自定義視圖引擎的原型是:
public class CustomViewEngine: VirtualPathProviderViewEngine
現在,我的問題是與舊的剃刀頁面,它們會呈現由於某種原因(而不是使用剃鬚刀視圖引擎)使用此引擎,並且在「FindView」函數運行時出現異常。
我已經呈現一種特殊的方式我的剃鬚刀頁面,但底線,它看起來像這樣:
public ActionResult MyAction()
{
return View('Razor/abcd.cshtml',model);
}
我讀過的網頁表單引擎之後纔是剃鬚刀一個第一和運行運行,但我不確定這是否正確。
我試過從定製引擎返回null和其他東西,但是頁面沒有呈現。
爲什麼我的.cshtml路徑使用自定義引擎而不是使用剃鬚刀引擎呈現?
如何告訴自定義引擎傳遞以.cshtml結尾的文件?