public static string RenderPartialView<DBType>(this ControllerAdv<DBType> controller, string viewName, object model) where DBType : DbContext, new() { if (controller.ControllerContext == null) { controller.ControllerContext = new ControllerContext(); controller.RouteData.Values.Add("controller", "ChatController"); } if (string.IsNullOrEmpty(viewName)) viewName = controller.ControllerContext.RouteData.GetRequiredString("action"); controller.ViewData.Model = model; using (var sw = new StringWriter()) { ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName); var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw); viewResult.View.Render(viewContext, sw); string top = ""; if (controller.IsSelect) { top += "<input type=\"hidden\" id=\"isSelect\" value=\"true\">"; top += String.Format("<input type=\"hidden\" id=\"selectResultFieldId\" value=\"{0}\">", controller.SelectResultField.Id); top += String.Format("<input type=\"hidden\" id=\"selectResultField\" value=\"{0}\">", controller.SelectResultField.Value); } return top + sw.GetStringBuilder().ToString(); } }
public static string RenderPartialView<DBType>(this ControllerAdv<DBType> controller, string viewName) where DBType : DbContext, new() { return RenderPartialView(controller, viewName, null); }