2

System.Web.Routing を Web フォームで使用するときに、URL がマップされる Web フォーム ページ名ではなく、仮想 URL を取得するにはどうすればよいですか。

「Confirm.aspx」ではなく「/confirm/5」という URL が必要です。

4

2 に答える 2

1

現在アクセスしているページのルーティングされたURLを取得するにはRequest.Url、Pavelのメモとしてを使用します。

別のページのルーティングされたURLを取得する必要がある場合(別のページへのハイパーリンクを作成する場合など)は、このPage.GetRouteUrlメソッドを使用します。

の使用法を示すコードスニペットを次に示しますPage.GetRouteUrl。これは私の記事「ASP.NET4でのURLルーティング」からのものです。

lnkCategory.NavigateUrl = Page.GetRouteUrl( "View Category"、new {CategoryName = "Beverages"});

上記のスニペットで、「ViewCategory」は使用するルーティングルールの名前です。CategoryNameはルーティングパラメータの1つであり、値「Beverages」を使用したいと思います。上記の呼び出しPage.GetRouteUrlは、文字列「/ Categories/Beverages」を返します。(もちろん、返される正確な文字列は、ルーティングルールの「カテゴリの表示」とパラメータ値によって異なりますが、うまくいけばわかります。)

于 2011-01-25T18:10:41.467 に答える
-1

次のことを試してください。System.Web.HttpContext.Current.Request.Url.AbsolutePath

于 2011-01-25T17:49:00.800 に答える