我已经创建了一个basecontroller类,它基于我发现的一篇博客文章,作为控制器中ContentResult类型操作的结果返回部分视图。代码如下:
protected string RenderPartialViewToString(string viewName, object model)
{
if (string.IsNullOrEmpty(viewName))
viewName = ControllerContext.RouteData.GetRequiredString("action");
ViewData.Model = model;
using (StringWriter sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
return sw.GetStringBuilder().ToString();
}
}
我用以下方法来回报:
return Content(RenderPartialViewToString("LocationStaffSearch", lcps));
所以现在我需要返回一个部分,这是一个共享视图。我似乎不知道如何传递名字,所以它找到了部分。如果我只输入名称,它会显示一个空白字符串。如果我输入Share/LocationStaffSearch,它会返回一个错误,表示视图为null。