5

ルーティングを有効にしたASP.NET3.5Webフォームプロジェクトがあります。また、プロジェクトには、現在表示されているページに基づいてさまざまな操作を行う多数のコントロールがあります。このさまざまな動作を制御する最も簡単な方法は、ページの読み込みに使用されたルートを見つけてから、それに応じて物事を行います。

ただし、実際のリクエストURLを見て、その上で正規表現を実行しているルートバーを見つける方法が見つからないようです。これは、すばらしいことではありません。誰か他の方法でそれを調べる方法を知っていますか?

更新:ASP.NET4.0でこれを行う方法はまだないようです。うまくいけば、他の誰かがこれを理解しましたか?

4

3 に答える 3

3

Phil Haack が彼のサイトのブログ投稿でこの質問に答えたようです: http://haacked.com/archive/2010/11/28/getting-the-route-name-for-a-route.aspx

于 2010-12-30T21:55:03.893 に答える
0

この投稿では、ルート名を取得/設定するために使用できるいくつかの簡単な拡張メソッドを投稿しました。Haackのソリューションよりも(私にとっては)簡単に思えます。

于 2014-01-17T03:53:22.740 に答える
0

.NET 4 Web フォーム アプリでは、これを使用してルート定義を決定しました。

 string myOperation =
     ((System.Web.Routing.Route)(Page.RouteData.Route)).Url;

 //string has value "Stop" or "Start"

あなたのルートが次のようになっているとしましょう:

        routes.MapPageRoute("StopEmailAlerts",
            "Stop/{SomeToken}",
            "~/Emailing.aspx", false);

        routes.MapPageRoute("SendEmailAlerts",
            "Start/{SomeToken}",
            "~/Emailing.aspx", false);    
于 2012-07-11T19:04:44.987 に答える