![](/img/trans.png)
[英]Method 'RouteCollection.get_AppendTrailingSlash' not found when using Razor Url helpers in ASP.NET MVC 5 Mono
[英]How to get RouteCollection from a request in ASP.NET MVC 4
这是我的global.asax(注册路线)
routes.MapRoute("NewDatabase",
"Server/{serverId}/Instances/{instanceId}/NewDatabase/",
new { controller = "Server", action = "NewDatabase" }
);
routes.MapRoute(
"Instance",
"Server/{id}/Instances/{instanceId}/Databases",
new { controller = "Server", action = "Databases", id = "id",instanceId="instanceId" }
);
routes.MapRoute(
"Database",
"Server/{id}/Instances",
new { controller = "Server", action = "Instances", id = "id" }
);
如果xyz.com/Server/12/Instance/1/NewDatabase
是服务器的必需URL,则Server/{serverId}/Instances/{instanceId}/NewDatabase/
将是匹配的模式。 我如何知道上述要求匹配的条目?
谢谢
RouteTable.Routes.GetRouteData(HttpContextBase)
安装RouteDebugger nuget软件包并在您的web.config中启用它。 这告诉您哪些路线可以命中,为什么。
<add key="RouteDebugger:Enabled" value="true" />
您所要做的就是导航到您的网址。 RouteDebugger会将路线信息添加到页面底部。
我不确定这是否是您要寻找的东西,但是您可以创建一个自定义路由约束,使您可以阻止匹配某个路由,除非满足某些自定义条件。
您可以实现Match方法,该方法返回一个布尔值。 如果返回false,则与约束关联的路由将与浏览器请求不匹配。 此方法具有RouteValueDictionary,因此您可以从那里检查路线值。
有关更多信息,请参见此url- http://www.asp.net/mvc/tutorials/controllers-and-routing/creating-a-custom-route-constraint-cs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.