预编译的Razor视图与ASP.NET Core的字符串
问题描述:
在ASP.NET Core 1.1中使用新的Razor预编译时,如何将Razor视图渲染为字符串?预编译的Razor视图与ASP.NET Core的字符串
以下代码来自示例,将引发异常,因为viewResult.View
为空。
var httpContext = new DefaultHttpContext { RequestServices = _serviceProvider };
var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor());
var viewResult = _razorViewEngine.FindView(actionContext, viewName, false);
if (viewResult.View == null)
{
throw new ArgumentNullException($"{viewName} does not match any available view");
}
https://blogs.msdn.microsoft.com/webdev/2016/10/25/announcing-asp-net-core-1-1-preview-1/
旧的方式(例如):File -> Razor -> Compile -> string
答
应该已经工作。当你拨打电话:
viewResult.View.RenderAsync(viewContext);
它会找到预编译的视图并使用该视图,而不是再次编译视图。
在到达这行代码之前,抛出异常。 –