据我了解,在 ASP.net 4.0 中,URL 路由已被合并到 Web 窗体中。我能做这样的事情真是太好了:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("Category", "list/{id}/{name}", "~/category.aspx");
routes.MapPageRoute("Product", "item/{id}/{name}", "~/product.aspx");
}
但是,我是否有一种内置方法可以将无扩展名的 url 路由到他们的 .aspx 对应项,而无需为每个文件手动添加路由?例如:
account/login => account/login.aspx
contact-us => contact-us.aspx
谢谢
我在路线的末尾添加了以下内容作为包罗万象的规则,它似乎正在工作。
routes.MapPageRoute("Default", "{*file}", "~/{file}.aspx");