System.Web.Routing を Web フォームで使用するときに、URL がマップされる Web フォーム ページ名ではなく、仮想 URL を取得するにはどうすればよいですか。
「Confirm.aspx」ではなく「/confirm/5」という URL が必要です。
System.Web.Routing を Web フォームで使用するときに、URL がマップされる Web フォーム ページ名ではなく、仮想 URL を取得するにはどうすればよいですか。
「Confirm.aspx」ではなく「/confirm/5」という URL が必要です。
現在アクセスしているページのルーティングされた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」を返します。(もちろん、返される正確な文字列は、ルーティングルールの「カテゴリの表示」とパラメータ値によって異なりますが、うまくいけばわかります。)
次のことを試してください。System.Web.HttpContext.Current.Request.Url.AbsolutePath