0

ASP.NET 4.0 ルーティングの問題は、Page.RouteData.Values#にリンクの文字の後のパラメータが含まれていないことです。

System.Web.Routing.RouteTable.Routes.MapPageRoute("ProjectViewRoute1", 
"project/{title}/{idProject}#{idDesign}", "~/ProjectView.aspx");

私が言ったように、Page.RouteData.Values.ContainsKey("idDesign")意志は戻ってきますfalse

この機能を利用したい理由は、JavaScript と Ajax を使用して一部のコンテンツを非表示にして新しいコンテンツをロードするためです。これは、ユーザーの目には別のページをロードするようなものであり、URL をコピーして貼り付けることができなければなりません。後でそのページを表示します。

問題は{idDesign}、 RoutedData から を取得する方法です。

4

1 に答える 1

2

#ブラウザーは、URL の の後のデータをサーバーに送信しません。その結果、ASP.Net がそのデータをキャプチャしてユーザーに提供することはできません。

?必要な機能を取得するには、 your の代わりにa を使用することをお勧めし#ます。また、必要に応じて、AJAX で作成された URL のサーバーに送信するために、URL のハッシュ セクションに配置されたデータをキャプチャする AJAX 呼び出しを含めることをお勧めします。

jQuery の使用:

$(function () {
    if (location.hash) {
        hash = location.hash.substr(1);
        location.hash = null;
        location.search = hash;
    }
});
于 2010-06-16T14:06:06.090 に答える