0

我在 ASP.Net URL 路由中遇到问题。以下是 Global.asax 代码:

public static void RegisterRoutes(RouteCollection routeCollection)
    {
        routeCollection.MapPageRoute("Project", "{dealname}/{city}/{projectname}/{projectid}", "~/projectpage.aspx");
        routeCollection.MapPageRoute("Home", "home/{dealname}/{city}", "~/index1.aspx", true, new RouteValueDictionary { { "dealname", "property-for-sale" }, { "city", "Ahmedabad" } });
        routeCollection.MapPageRoute("ProjectType", "result/{dealtype}/{searchstring}", "~/result.aspx");
    }

void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup
        RegisterRoutes(RouteTable.Routes);

    }

当我打开站点路由“主页”的 URL 时,它可以正常工作。但是当使用 Response.Redirect 重定向到路由“ProjectType”时,前一个 URL 的“home/”部分仍然存在,它保留在同一页面上,并且在 URL 中显示 /home/result/{dealtype}/ {searchstring} 而不是 /result/{dealtype}/{searchstring}。

请指导我缺少什么或应该做些什么来解决这个问题。

谢谢, 蒙贾尔

4

1 回答 1

1

我找到了解决方案。不要使用 Response.Redirect(),而是使用 Response.RedirectToRoute()。该函数专门用于实现 URL 路由时。

参考链接:http: //msdn.microsoft.com/en-us/library/dd992853.aspx

谢谢, 蒙贾尔

于 2013-10-03T12:05:40.267 回答