所有页面的 Mvc viewpages 和自定义数据
我需要在网站内的所有视图页面上提供一些数据。数据来自提供给所有路由的参数,我想获取该参数并获取其相应的数据,并使其可用于所有视图(包括母版页)。
如果能在一个地方完成就好了。
我需要做什么才能获得该功能,甚至可以完成吗?
问候, 理查德.
I need some data to be available on all the viewpages inside the website. The data comes from an parameter supplied to all the routes, i want to get that param and get the according data for it and make it available for all the views (including the master pages).
It would be nice if it could be done in one place.
What do i need to do to get that functionality, can it even be done?
Greetz,
Richard.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最简单(可能不是最好)的方法是编写一个基本的 Controller 类,该类
1) 处理以下事件之一来完成这项工作:
2) 设置您希望在 ViewData 中可用的数据。
3) 使用视图中的 ViewData。
4) 您的所有控制器必须继承自您的自定义基本控制器。
这可能不是所有方法中最好的,因为我通常会像瘟疫一样避免继承,但它会起作用。其他选择。
1) 在 ActionFilter 中实现它,并确保将属性添加到所有 ActionMethods 中。
2)使用MVC Turbine之类的东西来定义ActionFilter,它会触发ASP.NET MVC应用程序中的所有ActionMethods。
The easiest (may not be the best) would be to write a base Controller class that
1) handles one of the following events to do the job:
2) Sets the data you want to have available in ViewData.
3) Use the ViewData from your views.
4) All your Controllers must inherit from your custom base Controller.
This might not be the nicest of all approaches as I usually try to avoid inheritance like the plague, but it will work. Other options.
1) Implement it in an ActionFilter and make sure add the attribute to all ActionMethods.
2) Use something like MVC Turbine to define ActionFilter's that trigger for all ActionMethods in you ASP.NET MVC Application.