![](/img/trans.png)
[英]Is there a way to process an MVC view (aspx file) from a non-web application?
[英]Partial view in a non-web application
我在Visual Studio 2013中構建了一個控制台應用程序,該應用程序每天發送電子郵件報告。 我正在使用用Razor解析的.cshtml模板。 是否可以對我的主要cshtml文件使用局部視圖? 我嘗試使用語法:
@Html.Partial("_partial")
但出現錯誤(“名稱'Html'不存在...”)。 我僅在MVC項目中找到有關部分視圖的信息。 我想知道如何以及是否可以在控制台應用程序中使用它們。
我還嘗試將部分視圖呈現為cshtml主模板中的字符串,但是我的模板將html標記讀取為文字字符串。 而且我似乎無法在MVC之外使用HTML幫助器。
先感謝您。
您將需要引用System.Web.Mvc.Html ,然后設置模板庫。
Razor.SetTemplateBase(typeof(HtmlTemplateBase<>));
我已經解決了這個問題,如果有其他人可以從中受益,我將在此處發布答案。
我實現了Partial方法,該方法將呈現部分視圖,然后設置新的模板庫。
public class ExtendedTemplateBase<TModel> : TemplateBase<TModel>
{
public string Partial<TPartialModel>(string path, TPartialModel model)
{
var template = File.ReadAllText(path);
var partialViewResult = Razor.Parse(template, model);
return partialViewResult;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.