public override void OnException(ExceptionContext filterContext) { if (filterContext == null) throw new ArgumentNullException("filterContext"); if (filterContext.ExceptionHandled || !filterContext.HttpContext.IsCustomErrorEnabled) return; var exception = filterContext.Exception; if (new HttpException(null, exception).GetHttpCode() != 500) return; var controllerName = (string)filterContext.RouteData.Values["controller"]; var actionName = (string)filterContext.RouteData.Values["action"]; var model = new HandleErrorInfo(filterContext.Exception, controllerName, actionName); ActionResult result; if (IsJson) result = new JsonResult { Data = new { error = filterContext.Exception.Message }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; else { var dict = new ViewDataDictionary<HandleErrorInfo>(model); if (filterContext.Controller.ViewData.ContainsKey("KatushaUser")) dict.Add("KatushaUser", filterContext.Controller.ViewData["KatushaUser"]); if (filterContext.Controller.ViewData.ContainsKey("KatushaProfile")) dict.Add("KatushaProfile", filterContext.Controller.ViewData["KatushaProfile"]); dict.Add("HasLayout", HasLayout); result = new ViewResult { ViewName = ExceptionView, ViewData = dict, TempData = filterContext.Controller.TempData }; } filterContext.Result = result; filterContext.ExceptionHandled = true; filterContext.HttpContext.Response.Clear(); filterContext.HttpContext.Response.StatusCode = 500; filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; }
public override void OnAuthorization( AuthorizationContext filterContext ) { if ( filterContext == null ) { throw new ArgumentNullException( "filterContext" ); } if ( AuthorizeCore( filterContext.HttpContext ) ) { // ** IMPORTANT ** // Since we're performing authorization at the action level, the authorization code runs // after the output caching module. In the worst case this could allow an authorized user // to cause the page to be cached, then an unauthorized user would later be served the // cached page. We work around this by telling proxies not to cache the sensitive page, // then we hook our custom authorization code into the caching mechanism so that we have // the final say on whether a page should be served from the cache. HttpCachePolicyBase cachePolicy = filterContext.HttpContext.Response.Cache; cachePolicy.SetProxyMaxAge( new TimeSpan( 0 ) ); cachePolicy.AddValidationCallback( CacheValidateHandler, null /* data */); } else { // auth failed, redirect to not authorized page ViewDataDictionary viewData = new ViewDataDictionary(); viewData.Add( "PageTitle", "Not Authorised" ); viewData.Add( "Message", "Sorry, you do not have sufficient privileges for this operation." ); filterContext.Result = new ViewResult { ViewName = "NotAuthorised", ViewData = viewData }; //filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary( new { area = "", controller = "Home" } ) ); } }
public void BuildViewData(ViewDataDictionary viewDataDictionary, Order order) { viewDataDictionary.Add("Origins", _originRepository.GetAllOrigins().Select(o => new { Name = o, Value = o })); viewDataDictionary.Add("Customer", order.Customer); viewDataDictionary.Add("PackageTypes", _packageTypeSelectListBuilder.BuildSelectList()); viewDataDictionary.Add("Destinations", _destinationRepository.GetAllDestinations().Select(d => new { Name = d, Value = d })); }
/// <summary> /// Adds live edit to the web page /// Use: @Html.WebBlocksLiveEdit(1055, "Wysiwyg") /// </summary> /// <param name="html"></param> /// <param name="blocksRootNode">Root node id for the blocks</param> /// <param name="stylesheetId">The wysiwyg stylesheet for TinyMCE</param> /// <returns></returns> public static string WebBlocksLiveEdit(this HtmlHelper<RenderModel> html, int blocksRootNode, int stylesheetId) { ViewDataDictionary viewData = new ViewDataDictionary(); viewData.Add("wbBlocksRootNode", blocksRootNode); viewData.Add("wbStylesheetId", stylesheetId); html.RenderPartial("LiveEditRender", null, viewData); return ""; }
public static IHtmlContent DropDownListForCategories(this IHtmlHelper helper, string id, string name, List<Category> list, Guid selected) { ViewDataDictionary vdd = new ViewDataDictionary(helper.ViewContext.ViewData); vdd.Add("Selected", selected); vdd.Add("Id", id); vdd.Add("Name", name); return helper.Partial("HtmlHelper/CategoriesList", list, vdd); }
public void Merge_View_Data_Retains_Destination_Values() { var source = new ViewDataDictionary(); var dest = new ViewDataDictionary(); source.Add("Test1", "Test1"); dest.Add("Test1", "MyValue"); dest.Add("Test2", "Test2"); dest.MergeViewDataFrom(source); Assert.AreEqual(2, dest.Count); Assert.AreEqual("MyValue", dest["Test1"]); Assert.AreEqual("Test2", dest["Test2"]); }
protected new virtual ContentResult View(string viewName, object model = null) { var controllerContext = this.ControllerContext; var result = ViewEngines.Engines.FindView(controllerContext, viewName, null); StringWriter output; using (output = new StringWriter()) { var dictionary = new ViewDataDictionary(model); var dynamic = this.ViewBag as DynamicObject; if (dynamic != null) { var members = dynamic.GetDynamicMemberNames().ToList(); foreach (string member in members) { var value = Versioned.CallByName(dynamic, member, CallType.Get); dictionary.Add(member, value); } } var viewContext = new ViewContext(controllerContext, result.View, dictionary, controllerContext.Controller.TempData, output); result.View.Render(viewContext, output); result.ViewEngine.ReleaseView(controllerContext, result.View); } string html = CdnHelper.UseCdn(output.ToString()); html = CustomJavascriptInjector.Inject(viewName, html); html = MinificationHelper.Minify(html); return this.Content(html, "text/html"); }
public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext == null) { throw new ArgumentNullException("filterContext"); } if (AuthorizeCore(filterContext.HttpContext)) { SetCachePolicy(filterContext); } else if (!filterContext.HttpContext.User.Identity.IsAuthenticated) { // auth failed, redirect to login page filterContext.Result = new HttpUnauthorizedResult(); } else if (filterContext.HttpContext.User.IsInRole("SuperUser")) { // is authenticated and is in the SuperUser role SetCachePolicy(filterContext); } else { ViewDataDictionary viewData = new ViewDataDictionary(); viewData.Add("Message", "You do not have sufficient privileges for this operation."); filterContext.Result = new ViewResult { MasterName = this.MasterName, ViewName = this.ViewName, ViewData = viewData }; } }
public void OnAuthorization(AuthorizationContext filterContext) { if (!filterContext.HttpContext.User.Identity.IsAuthenticated) { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "action","Login"}, { "controller","Home"} } ); //filterContext.Result = new HttpUnauthorizedResult(); } else { ViewDataDictionary viewData = new ViewDataDictionary(); viewData.Add("Message", "You do not have sufficient privileges for this operation."); filterContext.Result = new ViewResult { ViewData = viewData }; } //else if (filterContext.HttpContext.User.IsInRole("admin")) //{ // filterContext.Result = new HttpUnauthorizedResult(); //} }
/// <summary> /// 设置Controller ViewData /// </summary> /// <param name="controller"></param> /// <param name="Key"></param> /// <param name="Value"></param> public static ViewDataDictionary SetControllerView(this Controller controller,string Key,string Value) { //string Name = controller.GetControllerName(); ViewDataDictionary vDict = new ViewDataDictionary(); vDict.Add(Key, Value); return vDict; }
public void EvalEvaluatesDictionaryThenModel() { var obj = new { Foo = "NotBar" }; ViewDataDictionary vdd = new ViewDataDictionary(obj); vdd.Add("Foo", "Bar"); Assert.AreEqual("Bar", vdd.Eval("Foo")); }
public void EvalWithCompoundExpressionReturnsPropertyOfAddedObject() { ViewDataDictionary vdd = new ViewDataDictionary(); vdd.Add("Foo", new { Bar = "Baz" }); Assert.AreEqual("Baz", vdd.Eval("Foo.Bar")); }
public void EvalWithCompoundExpressionReturnsIndexedValue() { ViewDataDictionary vdd = new ViewDataDictionary(); vdd.Add("Foo.Bar", "Baz"); Assert.AreEqual("Baz", vdd.Eval("Foo.Bar")); }
public void EvalReturnsValueJustAdded() { ViewDataDictionary vdd = new ViewDataDictionary(); vdd.Add("Foo", "Blah"); Assert.AreEqual("Blah", vdd.Eval("Foo")); }
public void EvalWithCompoundIndexAndCompoundExpressionReturnsValue() { ViewDataDictionary vdd = new ViewDataDictionary(); vdd.Add("Foo.Bar", new { Baz = new { Blah = "Quux" } }); Assert.AreEqual("Quux", vdd.Eval("Foo.Bar.Baz.Blah")); }
public static void CarregarDadosUsuario(ViewDataDictionary viewData) { if (viewData.ContainsKey("logado")) viewData["logado"] = viewData["logado"]; else viewData.Add("logado", false); if (viewData.ContainsKey("tipoUsuario")) viewData["tipoUsuario"] = viewData["tipoUsuario"]; else viewData.Add("tipoUsuario", ""); if (viewData.ContainsKey("erroLogin")) viewData["erroLogin"] = viewData["erroLogin"]; else viewData.Add("erroLogin", ""); }
/// <summary> /// Loads the supplied object to the view data dictionary for use by other partials /// </summary> public static void RenderPartialWithData(this HtmlHelper htmlHelper, string partialName, string key, object objectToLoad, ViewDataDictionary viewDataDictionary) { if (!viewDataDictionary.ContainsKey(key)) { viewDataDictionary.Add(key, objectToLoad); } htmlHelper.RenderPartial(partialName); }
public void EvalWithCompoundIndexExpressionReturnsEval() { ViewDataDictionary vdd = new ViewDataDictionary(); vdd.Add("Foo.Bar", new { Baz = "Quux" }); Assert.AreEqual("Quux", vdd.Eval("Foo.Bar.Baz")); }
public static void CarregarDadosUsuario(ViewDataDictionary viewData, bool logado, string tipoUsuario, string erroLogin) { if (viewData.ContainsKey("logado")) viewData["logado"] = viewData["logado"]; else viewData.Add("logado", logado); if (viewData.ContainsKey("tipoUsuario")) viewData["tipoUsuario"] = viewData["tipoUsuario"]; else viewData.Add("tipoUsuario", tipoUsuario); if (viewData.ContainsKey("erroLogin")) viewData["erroLogin"] = viewData["erroLogin"]; else viewData.Add("erroLogin", erroLogin); }
public void ShouldReportContainsCorrectly() { var viewData = new ViewDataDictionary(); viewData.Add(new Url("/2")); Assert.That(viewData.Contains <Url>()); Assert.That(viewData.Contains(typeof(Url))); }
public PaginatedList( List <T> items, int count, int pageIndex, int pageSize, ViewDataDictionary viewData, int totalPages) { TotalPages = totalPages; PageIndex = pageIndex; viewData.Add(nameof(PageIndex), pageIndex); viewData.Add(nameof(TotalPages), TotalPages); viewData.Add(nameof(HasPreviousPage), HasPreviousPage); viewData.Add(nameof(HasNextPage), HasNextPage); this.AddRange(items); }
public IHtmlString GetHtml(Widget widget) { var viewData = new ViewDataDictionary(); viewData.Add("CurrentWidget", widget); var service = new WidgetService(widget.Site); return(_htmlHelper.Partial(service.GetWidgetPath(widget), viewData)); }
public static MvcHtmlString CollectionItemJQueryTemplate <TModel, TCollectionItem>(this HtmlHelper <TModel> html, string partialViewName, TCollectionItem modelDefaultValues) { ViewDataDictionary <TCollectionItem> viewData = new ViewDataDictionary <TCollectionItem>(modelDefaultValues); viewData.Add(JQueryTemplatingEnabledKey, true); return(html.Partial(partialViewName, modelDefaultValues, viewData)); }
public void InitializeCompanies(ViewDataDictionary viewData, int?companyId) { var companies = _contactService.GetAll(new ContactFilterOptions() { Type = ContactType.Company }); viewData.Add("Companies", new SelectList(companies, "ID", "CompanyName", companyId)); }
public EmptyResult GetAll(ViewDataDictionary viewData) { var response = _languageCrud.GetAll(); var data = response.Data; viewData.Add("Languages", data); return(new EmptyResult()); }
public void EvalEvaluatesDictionaryThenModel() { var obj = new { Foo = "NotBar" }; ViewDataDictionary vdd = new ViewDataDictionary(obj); vdd.Add("Foo", "Bar"); Assert.Equal("Bar", vdd.Eval("Foo")); }
public void ShouldHandleProxiedObjectsByType() { var mailMessageStub = MockRepository.GenerateStub<MailMessage>(); var viewData = new ViewDataDictionary(); viewData.Add(mailMessageStub); var message = viewData.Get<MailMessage>(); Assert.That(message, Is.EqualTo(mailMessageStub)); }
public override void OnException(ExceptionContext context) { Log.Error(context.Exception, context.HttpContext.Request.Url.ToString()); context.ExceptionHandled = true; var ViewData = new ViewDataDictionary(); ViewData.Add("Api", ConfigurationManager.AppSettings["vx.api.url"]); ViewData.Add("ErrorMessage", context.Exception.Message); ViewData.Add("ErrorStackTrace", context.Exception.StackTrace); context.Result = new ViewResult() { ViewName = "Error", ViewData = ViewData, }; }
public static MvcHtmlString Td <TModel>(this HtmlHelper <TModel> htmlHelper, Ths ths, int key, string category = null) { if (ths == Mvc.Ths.Select) { ViewDataDictionary vd = new ViewDataDictionary(); vd.Add("category", category); return(htmlHelper.Partial(GetTemplateName("td_select"), key, vd)); } throw new NotSupportedException(); }
public void ShouldHandleProxiedObjectsByType() { var mailMessageStub = MockRepository.GenerateStub <MailMessage>(); var viewData = new ViewDataDictionary(); viewData.Add(mailMessageStub); var message = viewData.Get <MailMessage>(); Assert.That(message, Is.EqualTo(mailMessageStub)); }
public static ViewDataDictionary ToViewDataDictionary(this IDictionary dictionary) { var vdd = new ViewDataDictionary(); if (dictionary != null) foreach (var key in dictionary.Keys) vdd.Add(key.ToString(), dictionary[key]); return vdd; }
public void ShouldRetrieveSingleObjectByType() { var viewData = new ViewDataDictionary(); var url = new Url("/asdf"); //arbitrary object viewData.Add(url); Assert.That(viewData.Get <Url>(), Is.EqualTo(url)); Assert.That(viewData.Get(typeof(Url)), Is.EqualTo(url)); }
public static ScriptManager GetFromViewData(ViewDataDictionary viewData) { var scriptManager = viewData[CURRENT_VIEWDATA_SCRIPT_MANAGER] as ScriptManager; if (scriptManager == null) { scriptManager = new ScriptManager(); viewData.Add(CURRENT_VIEWDATA_SCRIPT_MANAGER, scriptManager); } return scriptManager; }
public void BuildViewData(ViewDataDictionary viewDataDictionary) { var donors = _OrphanService.GetOrphans();//.Where(x => x.IsActive == true); var list = donors.Select(ct => new SelectListItem { Text = "ID: " + ct.Id + " " + ct.Age + " " + ct.ArGrandFather + " " + " " + ct.ArFatherName + " " + ct.ArFirstName, Value = ct.Id.ToString(), Selected = false }).ToList(); viewDataDictionary.Add("OrphansSelectList", list);//.ToList().AsEnumerable() List <SelectListItem> yesnoSelectList = new List <SelectListItem>() { //new SelectListItem {Text = "Unknown", Value = "null"}, new SelectListItem { Text = "Yes", Value = "true" }, new SelectListItem { Text = "No", Value = "false" } }; viewDataDictionary.Add("YesNoSelectList", yesnoSelectList); List <SelectListItem> genderSelectList = new List <SelectListItem>() { new SelectListItem { Text = "Unknown", Value = "null" }, new SelectListItem { Text = "Yes", Value = "true" }, new SelectListItem { Text = "No", Value = "false" } }; viewDataDictionary.Add("GenderSelectList", genderSelectList); }
public void EvalWithCompoundExpressionAndDictionarySubExpressionChoosesDictionaryValue() { ViewDataDictionary vdd = new ViewDataDictionary(); vdd.Add("Foo", new Dictionary <string, object> { { "Bar", "Baz" } }); Assert.Equal("Baz", vdd.Eval("Foo.Bar")); }
public void ShouldGetObjectBasedOnType() { var url = new Url("/1"); var identity = new GenericIdentity("name"); var viewData = new ViewDataDictionary(); viewData.Add(identity).Add(url); viewData.Get(typeof(MailMessage)); }
public static async Task CollectionItemJQueryTemplateAsync <TModel, TCollectionItem>( this HtmlHelper <TModel> htmlHelper, string partialViewName, TCollectionItem model) { ViewDataDictionary <TCollectionItem> viewData = new ViewDataDictionary <TCollectionItem>(htmlHelper.ViewData, model); viewData.Add(JQueryTemplatingEnabledKey, true); await htmlHelper.RenderPartialAsync(partialViewName, model, viewData); }
public static ViewDataDictionary ToViewDataDictionary(this object anonymousObject) { IDictionary <string, object> anonymousDictionary = HtmlHelper.AnonymousObjectToHtmlAttributes(anonymousObject); ViewDataDictionary viewDataDictionary = new ViewDataDictionary(); //Copy the anonymous dictionary to the ViewDataDictionary. anonymousDictionary.Keys.ForEach(k => viewDataDictionary.Add(k, anonymousDictionary[k])); return(viewDataDictionary); }
public void OnException(ExceptionContext filterContext) { if (filterContext == null) { throw new ArgumentNullException("filterContext"); } if (!(filterContext.Exception is KatushaNeedsPaymentException)) { return; } ActionResult result; if (IsJson) { result = new JsonResult { Data = new { error = "NeedsPayment", product = Product.ToString() }, JsonRequestBehavior = JsonRequestBehavior.AllowGet } } ; else { var dict = new ViewDataDictionary <ProductNames>(Product); if (filterContext.Controller.ViewData.ContainsKey("KatushaUser")) { dict.Add("KatushaUser", filterContext.Controller.ViewData["KatushaUser"]); } if (filterContext.Controller.ViewData.ContainsKey("KatushaProfile")) { dict.Add("KatushaProfile", filterContext.Controller.ViewData["KatushaProfile"]); } dict.Add("HasLayout", HasLayout); result = new ViewResult { ViewName = ViewName, ViewData = dict, TempData = filterContext.Controller.TempData }; } filterContext.Result = result; filterContext.ExceptionHandled = true; filterContext.HttpContext.Response.Clear(); filterContext.HttpContext.Response.StatusCode = 200; filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; }
public static ScriptManager GetFromViewData(ViewDataDictionary viewData) { var scriptManager = viewData[CURRENT_VIEWDATA_SCRIPT_MANAGER] as ScriptManager; if (scriptManager == null) { scriptManager = new ScriptManager(); viewData.Add(CURRENT_VIEWDATA_SCRIPT_MANAGER, scriptManager); } return(scriptManager); }
public void ShouldGetObjectBasedOnType() { var url = new Url("/1"); var identity = new GenericIdentity("name"); var viewData = new ViewDataDictionary(); viewData.Add(identity).Add(url); viewData.Get(typeof(MailMessage)); }
public void Merge_View_Data() { var source = new ViewDataDictionary(); var dest = new ViewDataDictionary(); source.Add("Test1", "Test1"); dest.Add("Test2", "Test2"); dest.MergeViewDataFrom(source); Assert.AreEqual(2, dest.Count); }
public static ViewDataDictionary ToViewDataDictionary(this IDictionary dictionary) { var vdd = new ViewDataDictionary(); if (dictionary != null) { dictionary.ForEach((key, value) => vdd.Add(key.ToString(), value)); } return(vdd); }
private void InvalidRequest(AuthorizationContext filterContext, string errorCode, string sMessage, string eMessage) { if (filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.Result = new JsonResult { Data = new { ErrorCode = errorCode, Message = eMessage }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } else { ViewDataDictionary viewData = new ViewDataDictionary(); viewData.Add("ShortMessage", "Access denied."); viewData.Add("Message", "Anti forgery token not found."); filterContext.Result = new ViewResult { MasterName = "", ViewName = "Error", ViewData = viewData }; } }
protected override async Task <byte[]> CallTheDriver(ActionContext context) { // use action name if the view name was not provided string viewName = ViewName; if (string.IsNullOrEmpty(ViewName)) { viewName = ((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ActionName; } ViewEngineResult viewResult = GetView(context, viewName, MasterName); var html = new StringBuilder(); //string html = context.GetHtmlFromView(viewResult, viewName, Model); ITempDataProvider tempDataProvider = context.HttpContext.RequestServices.GetService(typeof(ITempDataProvider)) as ITempDataProvider; var viewDataDictionary = new ViewDataDictionary( metadataProvider: new EmptyModelMetadataProvider(), modelState: new ModelStateDictionary()) { Model = this.Model }; if (this.ViewData != null) { foreach (var item in this.ViewData) { viewDataDictionary.Add(item); } } using (var output = new StringWriter()) { var view = viewResult.View; var tempDataDictionary = new TempDataDictionary(context.HttpContext, tempDataProvider); var viewContext = new ViewContext( context, viewResult.View, viewDataDictionary, tempDataDictionary, output, new HtmlHelperOptions()); await view.RenderAsync(viewContext); html = output.GetStringBuilder(); } string baseUrl = string.Format("{0}://{1}", context.HttpContext.Request.Scheme, context.HttpContext.Request.Host); var htmlForWkhtml = Regex.Replace(html.ToString(), "<head>", string.Format("<head><base href=\"{0}\" />", baseUrl), RegexOptions.IgnoreCase); byte[] fileContent = WkhtmltopdfDriver.ConvertHtml(this.WkhtmlPath, this.GetConvertOptions(), htmlForWkhtml); return(fileContent); }
/// <summary> /// 重新绑定查询信息到界面 /// </summary> /// <param name="viewData"></param> /// <param name="searchCondition"></param> public static void ReBindSearchData(this ViewDataDictionary viewData, SearchCondition searchCondition) { //重新绑定查询信息到界面 if (searchCondition != null && searchCondition.Items != null && searchCondition.Items.Count > 0) { foreach (var item in searchCondition.Items) { viewData.Add(item.Field, item.Value); } } }
public void PobierzLokalizacje(string kodPocztowy, ViewDataDictionary viewData) { var kodPocztowyParam = new SqlParameter { ParameterName = "@KodPocztowy", Value = kodPocztowy, DbType = DbType.String }; var miasto = new SqlParameter { ParameterName = "@Miasto", DbType = DbType.String, Size = 30, Direction = ParameterDirection.Output }; var wojewodztwo = new SqlParameter { ParameterName = "@Wojewodztwo", DbType = DbType.String, Size = 20, Direction = ParameterDirection.Output }; var adres = new SqlParameter { ParameterName = "@Adres", DbType = DbType.String, Size = 100, Direction = ParameterDirection.Output }; Database.ExecuteSqlCommand("execute PobierzLokalizacje @KodPocztowy, @Miasto OUT, @Wojewodztwo OUT, @Adres OUT", kodPocztowyParam, miasto, wojewodztwo, adres); viewData.Add("Miasto", miasto.Value.ToString()); viewData.Add("Adres", adres.Value.ToString()); viewData.Add("Wojewodztwo", wojewodztwo.Value.ToString()); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { var action = filterContext.RouteData.Values["controller"] + "." + filterContext.RouteData.Values["action"]; var rad = filterContext.ActionDescriptor as ReflectedActionDescriptor; if (rad != null) { var attr = rad.GetCustomAttributes(true).OfType <ActionSplitterAttribute>().FirstOrDefault(); if (attr != null) { var str = filterContext.HttpContext.Request[attr.RequestKey] ?? filterContext.RouteData.Values[attr.RequestKey]; if (str != null) { action += " " + str; } } } ViewDataDictionary viewData = filterContext.Controller.ViewData; viewData.Add("elapsed", TimeTracker.Start(action)); IDisposable profiler = HeavyProfiler.Log("MvcRequest", () => filterContext.HttpContext.Request.Url.PathAndQuery); if (profiler != null) { viewData.Add("profiler", profiler); } if (ProfilerLogic.SessionTimeout != null) { IDisposable sessionTimeout = Connector.CommandTimeoutScope(ProfilerLogic.SessionTimeout.Value); if (sessionTimeout != null) { viewData.Add("sessiontimeout", sessionTimeout); } } }
public ActionResult ConvertThisViewToPdf(IFormCollection formCollection) { // add the custom value to view data ViewDataDictionary viewData = new ViewDataDictionary(ViewData); viewData.Clear(); viewData.Add("MyTextValue", formCollection["textBoxText"]); viewData.Add("MyDropDownListValue", formCollection["dropDownListValues"]); // get the HTML code of this view string htmlToConvert = RenderViewAsString("Index", viewData); // the base URL to resolve relative images and css HttpRequest httpRequest = this.ControllerContext.HttpContext.Request; UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Scheme = httpRequest.Scheme; uriBuilder.Host = httpRequest.Host.Host; if (httpRequest.Host.Port != null) { uriBuilder.Port = (int)httpRequest.Host.Port; } uriBuilder.Path = httpRequest.PathBase.ToString() + httpRequest.Path.ToString(); uriBuilder.Query = httpRequest.QueryString.ToString(); String thisViewUrl = uriBuilder.Uri.AbsoluteUri; String baseUrl = thisViewUrl.Substring(0, thisViewUrl.Length - "ConvertHtmlPreservingState/ConvertThisViewToPdf".Length); // instantiate the HiQPdf HTML to PDF converter HtmlToPdf htmlToPdfConverter = new HtmlToPdf(); // render the HTML code as PDF in memory byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory(htmlToConvert, baseUrl); FileResult fileResult = new FileContentResult(pdfBuffer, "application/pdf"); fileResult.FileDownloadName = "ThisViewToPdf.pdf"; return(fileResult); }
public void Merge(ViewDataDictionary source, ViewDataDictionary destiny) { Check.Arguments.ThrowIfNull(source, "source"); Check.Arguments.ThrowIfNull(destiny, "destiny"); foreach (var entry in destiny) if (!source.ContainsKey(entry.Key)) source.Add(entry.Key, entry.Value); if (destiny.Model != null) source.Model = destiny.Model; }
public void OnException(ExceptionContext filterContext) { if (filterContext == null) throw new ArgumentNullException("filterContext"); if (!(filterContext.Exception is KatushaNeedsPaymentException)) return; ActionResult result; if(IsJson) result = new JsonResult { Data = new { error = "NeedsPayment", product = Product.ToString() }, JsonRequestBehavior = JsonRequestBehavior.AllowGet}; else { var dict = new ViewDataDictionary<ProductNames>(Product); if (filterContext.Controller.ViewData.ContainsKey("KatushaUser")) dict.Add("KatushaUser", filterContext.Controller.ViewData["KatushaUser"]); if (filterContext.Controller.ViewData.ContainsKey("KatushaProfile")) dict.Add("KatushaProfile", filterContext.Controller.ViewData["KatushaProfile"]); dict.Add("HasLayout", HasLayout); result = new ViewResult { ViewName = ViewName, ViewData = dict, TempData = filterContext.Controller.TempData }; } filterContext.Result = result; filterContext.ExceptionHandled = true; filterContext.HttpContext.Response.Clear(); filterContext.HttpContext.Response.StatusCode = 200; filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; }
public void OnException(ExceptionContext filterContext) { var viewData = new ViewDataDictionary<HandleErrorInfo>(); viewData.Add("ErrorMessage", filterContext.Exception.Message); filterContext.Result = new ViewResult { ViewName = "Error", ViewData = viewData, TempData = filterContext.Controller.TempData }; filterContext.ExceptionHandled = true; }
public override void OnAuthorization( AuthorizationContext filterContext ) { if (filterContext == null) { throw new ArgumentNullException( "filterContext" ); } if (!filterContext.HttpContext.User.IsInRole("user")) { ViewDataDictionary viewData = new ViewDataDictionary(); viewData.Add("Message", "You have to make the o login first!"); filterContext.Result = new ViewResult { ViewName = this.ViewName, ViewData = viewData }; } }
public static IDictionary<string, object> Extract(this ViewDataDictionary dic, Func<string, bool> predicate) { if (dic == null) return null; ViewDataDictionary dic2 = new ViewDataDictionary(); foreach (var k in dic.Keys) { if (predicate(k)) { dic2.Add(k.Replace('_', '-'), dic[k]); } } return dic2; }
public override void OnException(ExceptionContext filterContext) { //for IIS7 filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; var viewdate=new ViewDataDictionary(); viewdate.Add("ErrorMessage", "处理出错了!请稍候重试"); if (!filterContext.ExceptionHandled) { filterContext.Result = new ViewResult { ViewName = "Error", ViewData = viewdate }; filterContext.ExceptionHandled = true; } }
private void IsUserAuthorized(AuthorizationContext filterContext) { if (filterContext.Result == null) return; if(filterContext.HttpContext.User.Identity.IsAuthenticated) { var vr = new ViewResult(); vr.ViewName = View; ViewDataDictionary dict = new ViewDataDictionary(); dict.Add("Message", "Sorry you are not Authorized to Perform this Action."); vr.ViewData = dict; var result = vr; filterContext.Result = result; } }
public static string RenderPartialViewToString(this Controller controller, string viewName, object model) { var vd = new ViewDataDictionary(); foreach (var item in controller.ViewData.Keys) { vd.Add(item, controller.ViewData[item]); } vd.Model = model; using (var sw = new StringWriter()) { var viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName); var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, vd, controller.TempData, sw); viewResult.View.Render(viewContext, sw); return sw.GetStringBuilder().ToString(); } }
public static string RenderView(this Controller controller, string viewName, object model, string master = null) { var vd = new ViewDataDictionary(); foreach (var item in controller.ViewData.Keys) { vd.Add(item, controller.ViewData[item]); } vd.Model = model; using (StringWriter sw = new StringWriter()) { ViewEngineResult viewResult = ViewEngines.Engines.FindView(controller.ControllerContext, viewName, master); ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, vd, controller.TempData, sw); viewResult.View.Render(viewContext, sw); return m_regex.Replace(sw.GetStringBuilder().ToString(), string.Empty); } }
public ContentAreaItemContext(ViewDataDictionary viewData, ContentAreaItem contentAreaItem) { _viewData = viewData; var displayOption = contentAreaItem.LoadDisplayOption() ?? new DisplayOption { Id = Guid.NewGuid().ToString(), Name = "Unknown" }; if (!_viewData.ContainsKey(Constants.CurrentDisplayOptionKey)) { _viewData.Add(Constants.CurrentDisplayOptionKey, displayOption); } else { _viewData[Constants.CurrentDisplayOptionKey] = displayOption; } }
public static MvcHtmlString PartialWithPrefix(this HtmlHelper helper, string viewName, object model, object viewDataAttributes) { var newviewdata = new ViewDataDictionary(helper.ViewData) { TemplateInfo = new TemplateInfo() { HtmlFieldPrefix = helper.ViewData.TemplateInfo.HtmlFieldPrefix } }; foreach (var property in viewDataAttributes.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public)) { var name = property.Name; var value = property.GetValue(viewDataAttributes); newviewdata.Add(name, value); } return helper.Partial(viewName, model, newviewdata); }