asp.net-mvc – 如何在使用类型化视图时在ActionFilterAttribute
发布时间:2020-12-16 04:17:34 所属栏目:asp.Net 来源:网络整理
导读:我使用强类型视图,其中所有ViewModel都继承了一个类BaseViewModel. 在装饰所有控制器的ActionFilter中,我想使用Model. 现在我只能像这样访问它: public override void OnActionExecuting(ActionExecutingContext filterContext) { ViewModelBase model = (V
我使用强类型视图,其中所有ViewModel都继承了一个类BaseViewModel.
在装饰所有控制器的ActionFilter中,我想使用Model. 现在我只能像这样访问它: public override void OnActionExecuting(ActionExecutingContext filterContext) { ViewModelBase model = (ViewModelBase)filterContext.ActionParameters["viewModel"]; base.OnActionExecuting(filterContext); } 问题是,我必须知道密钥“viewModel”.关键是viewModel,因为在我的控制器中我用过:
是否有更安全的方式来访问模型? 解决方法
OnActionExecuting在Action执行之前工作 – 因此Model被设置为null.您可以在OnActionExecuted中访问ViewData(或ViewData.Model):
public override void OnActionExecuted(ActionExecutedContext filterContext) { var model = filterContext.Controller.ViewData.Model as YourModel; ... } 希望这可以帮助 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – MVC中的客户端证书颁发者(指纹)
- 具有嵌套列表的ASP.NET MVC DefaultModelBinder
- Webpack,asp.net核心,docker:使用dotnet调试或发布版本构建
- 如何使用.net MVC 3中的角色测试授权属性?
- asp.net-mvc – .net mvc仅当视图中有值时才在视图中显示
- asp.net-mvc – 在视图中创建DropDownListFor项
- asp.net – 点击按钮禁用
- asp.net-mvc-3 – 如何阻止Ninject重写自定义DataAnnotatio
- asp.net-mvc – 如何在ASP.NET MVC中定义表单域前缀
- asp.net-mvc – 如何使用WIX在IIS 6上安装ASP.NET MVC 3应用
推荐文章
站长推荐
热点阅读