如果页面 url 存储在数据库中,MVC 路由
我有一种 CMS 应用程序,允许创建内容页面并为其指定 url。 我想让用户输入任何 url,例如:
/Documents/Forms/MyForm
/Documents/Manuals/MyManual
/Events/BBQThisWeek
然后我需要创建一个路由来检查数据库中是否存在具有给定 Url 的内容页面,如果存在,则路由到处理内容页面的控制器。如果没有,它将继续使用默认路线。
我该如何处理这个问题? 谢谢 五、
I have kind of CMS application that allows to create content pages and specify urls for them.
I'd like to let users enter any url, like:
/Documents/Forms/MyForm
/Documents/Manuals/MyManual
/Events/BBQThisWeek
Then I need to create a route that will check if a content page with the given Url exists in the DB and if yes, will route to controller that handles content pages. If not it'll continue with default route.
How do I approach this?
Thanks
V.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能必须设置一个自定义处理程序。在此处查看选项三,
您可以在操作调用程序上从数据库读取。
You will probable have to set-up a custom handler. Take a look at option three on here
You could read from database on action invoker.
创建一个扩展 Route edit 的类
:
最简单的方法是扩展
Route
并使用 base.GetRouteData,然后只需将数据标记“controller”和“action”更改为您想要的Create a class that extends Route
edit:
The easiest way is to extends
Route
and use base.GetRouteData then just change the data tokens 'controller' and 'action' to what you want