2011-01-29 27 views
1

我想改变我的路线的一部分路由,这样的而不是:创建将查询字符串移至网址

/Users/Edit?UserID=1 

我可以做

/Users/Edit/1 

我怎样才能创建一个自定义路线来做到这一点?

另外,有人可以指导我一个很好的路线教程?我不想在每次遇到简单的路由问题时都创建一篇文章。

回答

2

实际上http://localhost/Users/Edit/1可以做你想要的,而不需要定义一条新路线。默认路由结构为http://localhost/controllerName/actionMethodName/id

所以,如果您只是在您的操作方法中使用“id”而不是“UserID”。 URL中的数字将被分配给参数。

public ActionResult Edit(int id) 

这是关于路由的一些教训。看看他们。这是一件很容易理解的事情。

0

您将要使用htaccess文件。你放入一个正则表达式,它将提取文件路径的片段,就像它是查询字符串的一部分一样。

This is a link I googled它可能会伎俩。

+1

由于他使用ASP.NET MVC,他可能并未使用Apache并没有htaccess文件。 – 2011-01-29 20:12:12

0

你会想要做这样的事情:

 routes.MapRoute(
      "MyRoute", 
      "{controller}/{action}/{UserId}", 
      new { controller = "DefaultController", 
            action = "DefaultAction", 
            UserId = UrlParameter.Optional } 
     ); 
相关问题