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 を開くと Route "Home" は完全に機能しています。しかし、Response.Redirect を使用してルート "ProjectType" にリダイレクトすると、結果として以前の URL の "home/" 部分が残り、同じページに残り、URL に /home/result/{dealtype}/ が表示されます。 /result/{dealtype}/{searchstring} の代わりに {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 に答える