我想改变我的路线的一部分路由,这样的而不是:创建将查询字符串移至网址
/Users/Edit?UserID=1
我可以做
/Users/Edit/1
我怎样才能创建一个自定义路线来做到这一点?
另外,有人可以指导我一个很好的路线教程?我不想在每次遇到简单的路由问题时都创建一篇文章。
我想改变我的路线的一部分路由,这样的而不是:创建将查询字符串移至网址
/Users/Edit?UserID=1
我可以做
/Users/Edit/1
我怎样才能创建一个自定义路线来做到这一点?
另外,有人可以指导我一个很好的路线教程?我不想在每次遇到简单的路由问题时都创建一篇文章。
实际上http://localhost/Users/Edit/1可以做你想要的,而不需要定义一条新路线。默认路由结构为http://localhost/controllerName/actionMethodName/id。
所以,如果您只是在您的操作方法中使用“id”而不是“UserID”。 URL中的数字将被分配给参数。
public ActionResult Edit(int id)
这是关于路由的一些教训。看看他们。这是一件很容易理解的事情。
您将要使用htaccess文件。你放入一个正则表达式,它将提取文件路径的片段,就像它是查询字符串的一部分一样。
This is a link I googled它可能会伎俩。
你会想要做这样的事情:
routes.MapRoute(
"MyRoute",
"{controller}/{action}/{UserId}",
new { controller = "DefaultController",
action = "DefaultAction",
UserId = UrlParameter.Optional }
);
由于他使用ASP.NET MVC,他可能并未使用Apache并没有htaccess文件。 – 2011-01-29 20:12:12