WebフォームでSystem.Web.Routingを使用しているときにURLがマップされている仮想URLではなく、Webフォームのページ名を取得するにはどうすればよいですか。Webフォームでルーティングを使用するときに仮想URLを取得
"Confirm.aspx"ではなく "/ confirm/5"というURLを使用します。
WebフォームでSystem.Web.Routingを使用しているときにURLがマップされている仮想URLではなく、Webフォームのページ名を取得するにはどうすればよいですか。Webフォームでルーティングを使用するときに仮想URLを取得
"Confirm.aspx"ではなく "/ confirm/5"というURLを使用します。
あなたが現在を訪問しているページのためのルーティングされたURL を取得するには、パベルノートとして、Request.Url
を使用しています。
別のページのリンクされたURLを取得する必要がある場合(別のページへのハイパーリンクを作成する場合など)は、Page.GetRouteUrl
メソッドを使用してください。
Page.GetRouteUrl
の使用方法を示すコードスニペットです。それは、私の記事からですURL Routing in ASP.NET 4:
lnkCategory.NavigateUrl = Page.GetRouteUrl( "ビューカテゴリ"、新しい{カテゴリ名= "飲料"});
上記のスニペットでは、「表示カテゴリ」は、使用したいルーティングルールの名前です。 CategoryName
はルーティングパラメータの1つであり、値「飲料」を使用したいと考えています。上記のPage.GetRouteUrl
の呼び出しは、文字列 "/ Categories/Beverages"を返します。 (もちろん、正確な文字列はreturn rule "View Category"とパラメータ値に依存しますが、うまくいけばいいと思います)
は、以下のことを試してみてください。System.Web.HttpContext.Current.Request.Url.AbsolutePath