Пример #1
0
        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();
            }
        }
Пример #2
0
 public static string RenderPartialView<DBType>(this ControllerAdv<DBType> controller, string viewName) where DBType : DbContext, new()
 {
     return RenderPartialView(controller, viewName, null);
 }