protected ActionResult ViewBase(string[] selectors, string[] viewName, object[] models) { if (viewName.Length != selectors.Length) { throw new Exception("Количество селекторов и видов должно быть одинаково"); } CheckTitle(); JsonData dat = new JsonData { Title = ViewBag.Title }; for (int i = 0; i < selectors.Length; i++) { Replacer rpl = new Replacer { Select = selectors[i], Data = RenderView(viewName[i], models[i]) }; dat.Repl.Add(rpl); } return new JsonResult { Data = dat }; }
protected ActionResult ViewJson(DataView dv, string pageTitle) { JsonData dat = new JsonData { Title = pageTitle }; dat.Repl.Add(new Replacer { Select = dv.Selector, Data = RenderView(dv.View, dv.Model) }); return new JsonResult { Data = dat, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; }
protected ActionResult RedirectBase(string action, string controller) { string url = UrlHelper.GenerateUrl("", action, controller, Request.Url.Scheme, Request.Url.Host, null, null, RouteTable.Routes, ControllerContext.RequestContext, false); JsonData dat = new JsonData { Redirect = url }; return new JsonResult { Data = dat }; }