我有下面这段在控制器中工作的代码。
public string RenderRazorViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext,
viewName);
var viewContext = new ViewContext(ControllerContext, viewResult.View,
ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}我希望将其移动到外部服务以供重用,但无法解析ViewData或ControllerContext。除了将签名更改为静态之外,我还需要做什么?
https://stackoverflow.com/questions/41411690
复制相似问题