在Asp.Net核心中将字符串html转换为IView

时间:2018-03-07 10:37:09

标签: razor asp.net-core-2.0

我正在使用ViewContext Microsoft.AspNetCore.Mvc.Rendering包来进一步呈现html,如下所示:

using (var output = new StringWriter())
            {
                var viewContext = new ViewContext(
                    actionContext,
                    view,
                    new ViewDataDictionary<TModel>(
                        metadataProvider: new EmptyModelMetadataProvider(),
                        modelState: new ModelStateDictionary())
                    {
                        Model = model
                    },
                    new TempDataDictionary(
                        actionContext.HttpContext,
                        _tempDataProvider),
                    output,
                    new HtmlHelperOptions());


                await view.RenderAsync(viewContext);
}

这里第二个参数是根据各种来源的视图,可以通过以下方式获得:

var view = _viewEngine.FindView(..); //or GetView() or GetPage()

但我有一个像这样的纯HTML字符串,

string htmlTemplate = <p>Hello, @Model.Name</p>

对于viewcontext,我需要将此字符串转换为IView类型。在早期版本中,Razor.Parse(htmlString)曾经做过这项工作,但我被困在核心,因为我没有得到任何源或引用将字符串html转换为IView。

如何将字符串Html转换为IView对象?

0 个答案:

没有答案