gpt4 book ai didi

ASP.net WebForms 无扩展 URL

转载 作者:行者123 更新时间:2023-12-01 11:48:04 24 4
gpt4 key购买 nike

据我了解,在 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");

最佳答案

您可以像在 MVC 中那样使用占位符

VB.NET

    routes.MapPageRoute(
"ThreeLevels",
"{folder}/{file}/{id}",
"~/{folder}/{file}.aspx", True,
New RouteValueDictionary From {
{"folder", "Home"},
{"file", "Default"},
{"id", Nothing}
})

C#

    routes.MapPageRoute(
"ThreeLevels",
"{folder}/{file}/{id}",
"~/{folder}/{file}.aspx", true,
new RouteValueDictionary {
{"folder", "Home"},
{"file", "Default"},
{"id", null}
});

关于ASP.net WebForms 无扩展 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14116477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com