我正在使用MVC4并希望写一条路线,但不确定如何做到这一点。
在我的网站上,我有很多路线。我想要实现的目标如下:
根据这些信息,我将检查数据是否存在于内容管理系统等中。
我是如何为上述方法创建路线的?
答案 0 :(得分:1)
你的建议基本上是一个捕获404.它可能听起来不是很优雅,因为它感觉就像导致错误并捕获它,但404只是在无法识别正确路线后采取的步骤。如果MVC框架具有“最终选项”路线,则在没有找到正确的路线之后进行。
2个方法
路线方法
//我们找不到处理请求的路由。显示404页面。 routes.MapRoute(“Error”,“{* url}”, new {controller =“Error”,action =“404”} );
-
或
web.config中的自定义错误处理程序
<customErrors mode="On" >
<error statusCode="404" redirect="~/CatchallController/CatchallAction" />
</customErrors>
无路由匹配引发的条件是404.这样您就可以将所有不匹配指向您的~/CatchallController/CatchallAction
|
答案 1 :(得分:0)
您可以在路线模式中使用星号来表示“全能”(“可变长度”路线)。
e.g。 “{控制器} / {行动} / {ID} / {*}包罗万象”
这将匹配任何包含来自catchall段的任意数量的段的URL。
请记住在更一般的路线之前指定更具体的路线。