我正在使用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对象?