5
我的計劃是有幾個動態加載的程序集,可能會提供一些Web界面。ApiControllers和剃刀視圖
我決定把幾個WebApi控制器放在那些程序集中,其中一些控制器可以使用內聯Razor模板(通過自定義MediaTypeFormatter)來提供html視圖。 它的工作原理非常好,內聯模板剃刀迄今:
var myModel = new {Name:"World"};
var template = "Hello, @Model.Name!";
return Razor.Parse(template, myModel);
但我的問題是,我無法弄清楚如何使用/註冊位於我的組件內外部剃刀視圖(.cshtml文件)。
我試過以下至今:
var template = Razor.Resolve("MyView.cshtml", myModel);
return template.Run(new ExecuteContext());
但我template
變量是null
,我的猜測是MyView.cshtml無法找到,未註冊或不正確引用。
您是否在Visual Studio中爲cshtml文件設置了構建操作:「Embedded Resource」?你是否用'TemplateService'配置了'Razor.SetTemplateService',它可以從正確的程序集中解析你的模板? – nemesv
@nemesv,不,我沒有。你能推動我正確的方向如何實現一個'TemplateService'解決我的模板?謝謝。 –
這是我怎麼做https://github.com/darrelmiller/HypermediaApiSite/blob/master/HypermediaApiContent/Tools/EmbeddedResolver.cs –