如何在ASP.NET MVC中创建自定义路由?

时间:2016-08-04 04:04:04

标签: asp.net-mvc web

我想将参数发送到默认控制器中的默认操作,如下所示:

Domain.com/parameter

parameter只是我想发送给动作的ID

2 个答案:

答案 0 :(得分:0)

如果您使用的是MVC4或更高版本,则可以更轻松地使用基于属性的路由。我讨厌你正在使用的旧路由系统。如果切换到基于属性的路由(非常简单),则使用以下属性装饰控制器:

RoutePrefix[("")]

这告诉路由器此控制器没有前缀,因此当您未在URL中指定控制器时,默认情况下将使用该控制器。

现在找到您要使用的操作,并使用以下属性进行装饰:

Route[("{myParam:int}")]

然后将按如下方式路由请求:

www.mydomain.com/10

这些请求将转到你装饰的控制器和动作,myParam参数将包含10个。

这里有更多信息: https://blogs.msdn.microsoft.com/webdev/2013/10/17/attribute-routing-in-asp-net-mvc-5/

答案 1 :(得分:-1)

routes.MapRoute(
            "Users",
            "{id}",
             new { controller = "Home", action = 
                                       "test",id=UrlParameter.Optional }
 );