filterContext.Controller.ViewData.Model =
filterContext.HttpContext.Cache.Get("MyModelCache")[model.Name];
filterContext.Result = new PartialViewResult
{
ViewData = filterContext.Controller.ViewData,
ViewName = "~/Views/_NameOfPartial", // optional if you need it
};
以下是PartialView
控制器中采用 2 个参数的方法的来源:
namespace System.Web.Mvc
{
public abstract class Controller : ControllerBase, (etc)
{
...
protected internal virtual PartialViewResult PartialView(
string viewName, object model)
{
if (model != null)
this.ViewData.Model = model;
PartialViewResult partialViewResult = new PartialViewResult();
partialViewResult.ViewName = viewName;
partialViewResult.ViewData = this.ViewData;
partialViewResult.TempData = this.TempData;
partialViewResult.ViewEngineCollection = this.ViewEngineCollection;
return partialViewResult;
}
...
}
}