我正在尝试使用查询字符串创建 URL 重写,但我的问题是当我尝试使用查询字符串时 URL 重写不起作用。当我在没有查询字符串的情况下使用它时,URL 重写工作正常。我已经在网上搜索并完全按照他们所说的做了,但我仍然遇到错误。因此,让我向您展示第一个没有查询字符串的方法:
这就是我在 Global.asax 文件中的内容:
protected void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routeCollection)
{
routeCollection.MapPageRoute("RouteForCustomer", "MyTest", "~/Users/MyOldPage.aspx");
}
如果我运行上面的代码,一切正常。所以我现在尝试在 URL 中传递查询字符串,而我所做的到目前为止还不起作用:
protected void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routeCollection)
{
routeCollection.MapPageRoute("RouteForCustomer", "MyTest/{My_ID}", "~/Users/MyOldPage.aspx");
}
MyOldPage.aspx 背后的代码我有这段代码,但不确定是否有必要,但这是我在研究时在网上看到的:
protected void Page_Load(object sender, EventArgs e)
{
string myquerystring = Page.RouteData.Values["My_ID"] as string;