簡體   English   中英

非Web應用程序中的局部視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM