C# 将共享部分视图呈现为字符串时出错
我使用我找到的这段代码将局部视图渲染为字符串C# 将共享部分视图呈现为字符串时出错,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,我使用我找到的这段代码将局部视图渲染为字符串 public string RenderPartialViewToString(string controlName, object viewData) { ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() }; viewPage.ViewData = new ViewDataDictionary(viewData)
public string RenderPartialViewToString(string controlName, object viewData)
{
ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() };
viewPage.ViewData = new ViewDataDictionary(viewData);
viewPage.Controls.Add(viewPage.LoadControl(controlName));
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
using (HtmlTextWriter tw = new HtmlTextWriter(sw))
{
viewPage.RenderControl(tw);
}
}
return sb.ToString();
}
我正在像这样输入函数:
var s = RenderPartialViewToString("~/Views/Shared/_MyPartialView.cshtml", MyModel);
但我得到了以下错误:
Type 'ASP._Page_Views_Shared__MyPartialView_cshtml' does not inherit from 'System.Web.UI.UserControl'.
有人知道我如何修复此错误吗?
ViewPage
用于Web表单视图,而不是Razor视图
我想你可能对RazorEngine项目感兴趣: