我正在尝试使用查询字符串创建URL重写但我的问题是当我尝试使用查询字符串时,URL重写不起作用。当我在没有查询sting的情况下使用它时,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;