ASP.NET MVC 自定义路由
我想在我的应用程序中创建自定义路由。
我在 Global asax 文件中添加了一条新路线:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Profile", // Route name
"{controller}/{action}/{userName}", // URL with parameters
new { controller = "UserProfile", action = "Index", userName = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
当我使用 UserProfileController 时,它工作正常:
http://localhost :7738/UserProfile/Info/chopin
但是默认路由不起作用!
我看到这个 http://localhost:7738/Blog/Info?id=2这个 http://localhost:7738/Blog/Info/2
有人可以帮助我吗?
谢谢l。
I would like to create a custom routing in my app.
I added a new route in the Global asax file:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Profile", // Route name
"{controller}/{action}/{userName}", // URL with parameters
new { controller = "UserProfile", action = "Index", userName = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
It works fine when I use the UserProfileController:
http://localhost:7738/UserProfile/Info/chopin
But the Default routing is not working!
I see this http://localhost:7738/Blog/Info?id=2 instead of this http://localhost:7738/Blog/Info/2
Anybody can help me?
Thanks l.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
也许您可以将路线固定为:
Maybe you can fixed your route to:
你们的路线基本上是一样的!
如何通过查询字符串获取 URI?
Your routes are essentially the same!
How are getting the URI with the query string?