如何使一个函数在 ASP.NET MVC 2 中的所有控制器上运行?
我有一个函数:
- 从模型(完成)获取一些信息
- 从cookie(完成)获取一些信息,并
- 在每个控制器上的ViewData(视图上)上设置新信息
此外,该函数需要在控制器运行时在每个控制器上运行正在打电话(我不知道该怎么做)。
我已经在 BaseController 上编写了这个函数,但出现错误:
未将对象引用设置为对象的实例。
而且,我认为这不是正确的方法。我正在使用 ASP.NET MVC 2 和 .NET 3.5。
谢谢你的帮助。
I have a function that :
- gets some information from model ( done )
- gets some information from cookie ( done ), and
- set the new informations on ViewData ( on views ) on every controller
Also, the function need to run on every controller when the controller is calling (I don`t know how to do this).
I have write this function on a BaseController but I get an error:
Object reference not set to an instance of an object.
And, I think this is not the right way. I'm using ASP.NET MVC 2 and .NET 3.5.
Thx for your help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
创建自定义操作过滤器:
在您的基本控制器上打那个坏男孩:
现在,在执行每个控制器的每个 ActionResult 后,您的操作过滤器逻辑将被执行。
您还有一些其他事件可以挂钩,但听起来您想在执行操作后做一些事情,所以我认为上面的内容应该适合您。
Create a custom action filter:
Slap that bad boy on your base controller:
Now, after every ActionResult for every Controller is executed, your action filter logic will be executed.
You've got a few other events you can hook into, but it sounds like you want to do some stuff after the action has been executed, so i think the above should suit you fine.
在升级之前它不会为您提供帮助,但在 ASP.NET MVC 3 中您可以使用全局操作过滤器来实现此目的。
http:// /weblogs.asp.net/gunnarpeipman/archive/2010/08/15/asp-net-mvc-3-global-action-filters.aspx
It won't help you until you upgrade but in ASP.NET MVC 3 you can use a global action filter for this purpose.
http://weblogs.asp.net/gunnarpeipman/archive/2010/08/15/asp-net-mvc-3-global-action-filters.aspx