2012-04-01 11 views
1

私はASP.NET WebフォームWebサイトを持っています。マスターページの内部にページがあります。ポストバックを行うが、GETパラメータが異なるこのページには多くの項目があります。例えば、私はhttp://mysite/mypage?p=1にいるのですが、次にいくつかのアイテムをクリックしてhttp://mysite/mypage?p=2に行きます。明らかに、マスターページは変更されず、URLとページの内容だけが変更されるため、実際には完全なポストバックを行う必要はありません。そこで、AJAXスタイルのポストバックを部分的に行い、URLを変更するようにページを書き直したいと思います(ブックマークを作成してブラウザの履歴を適切にナビゲートできるようにしたい)。しかし、どうすればいいのですか?ASP.NET WebフォームでAJAXを使用しますが、URLはそのままです

例えば、私はUpdatePanelを使うことができます。すべてのアイテムを、ページナビゲーションを行うハイパーリンクではなく、ポストバックを行う何らかの種類のボタンにすることができます。しかし、私のURLは同じままで、これは悪いです。

私はUpdatePanelコントロールまたはjQueryライブラリのどちらかを使用した回答が好きですが、他のテクノロジを利用した回答も問題解決のヒントを与えてくれるのでうれしいです。

答えて

1

これを実現する唯一の方法は、URLに「#」を使用しながらコンテンツを動的に読み込むことです。例えば、http://mysite/mypage#1,http://mysite/mypage#2。これにより、AJAX型の機能を実行している間にリダイレクトすることなく、オンデマンドでURLを変更することができます。 URLはブックマークすることもできます。

もちろん、さまざまなパラメータを渡すために部分的なポストバックが発生したときに、いくつかのタイプのイベントリスナーの後に文字を解析するために、いくつかのJavaScriptを記述する必要があります。

私はすでにこれを数回実装していますが、これが私が知っている唯一の問題です。 Twitterは当時の若干のインスピレーションでした。

+0

答えをありがとう、私はそれを試してみます。私が明日より良い答えを得られないなら、私はこの投稿を答えとして受け入れます。 –

関連する問題