c# – ASP.NET MVC返回ViewResult
发布时间:2020-12-15 08:07:51 所属栏目:百科 来源:网络整理
导读:我试图从ActionFilterAttribute类返回OnActionExecuted方法覆盖中的ViewResult 如下…… public override void OnActionExecuted(ActionExecutedContext filterContext){ if (CreateCookie filterContext.Exception == null) { LoginCookies lcookie = new L
我试图从ActionFilterAttribute类返回OnActionExecuted方法覆盖中的ViewResult
如下…… public override void OnActionExecuted(ActionExecutedContext filterContext) { if (CreateCookie && filterContext.Exception == null) { LoginCookies lcookie = new LoginCookies(usuDs,usuSenha); lcookie.WriteCookie("SCE",10); } else { filterContext.Result = new ViewResult() { ViewName = "Login" }; filterContext.Result.ExecuteResult (filterContext.Controller.ControllerContext); } 它可以返回到名为“Login”的视图,但我需要将模型对象传递给此视图(在这种情况下,模型对象是用户的类型),我不知道如何直接使用ViewResult类传递它. 有任何想法吗? 更新: 解决方法
我遇到了同样的问题,我传递给View的Model总是为NULL.我能够通过以下方式将模型传递给我的视图:
创建viewModel并设置属性.创建一个新的ViewResult,为其指定View的名称,然后将viewModel传递给ViewData. public override void OnActionExecuted(ActionExecutedContext filterContext) { TestViewModel viewModel = new TestViewModel; //Here set all the properties of your viewModel such as your exception message filterContext.Controller.ViewData.Model = viewModel; filterContext.Result = new ViewResult { ViewName = "Login",ViewData = new ViewDataDictionary(viewModel)}; filterContext.ExceptionHandled = true; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |