WebFormsでルーティングを使用するときに仮想URLを取得します
-
24-10-2019 - |
質問
System.web.Routingを使用してURLがマッピングされるWebFormsページ名ではなく、仮想URLを取得するにはどうすればよいですか。
url "/cundile/5"が必要で、「confirm.aspx」ではありません。
解決
ルーティングされたURLを取得します 現在訪問しているページの場合, 、 使用する Request.Url
, 、パベルがノートしているように。
別のページのルーティングURLを取得する必要がある場合(別のページにハイパーリンクを作成するときなど)、 Page.GetRouteUrl
方法。
これが使用を示すコードスニペットです Page.GetRouteUrl
. 。それは私の記事からです、 ASP.NET 4のURLルーティング:
lnkcategory.navigateurl = page.getRouteurl( "View Category"、new {categoryName = "Beverages"});
上記のスニペットでは、「ビューカテゴリ」は、使用したいルーティングルールの名前です。 CategoryName
ルーティングパラメーターの1つであり、値「Beverages」を使用したいと考えています。上記の呼び出し Page.GetRouteUrl
文字列「/カテゴリ/ビバレッジ」を返します。 (もちろん、正確な文字列はリターンです。ルーティングルール「表示カテゴリ」とパラメーター値に依存しますが、できればアイデアが得られます。)
他のヒント
以下を試してください: System.Web.HttpContext.Current.Request.Url.AbsolutePath
所属していません StackOverflow