私はいくつかの調査ウェブサイトでこれを見ました。URLを同じに保つためにクライアント側で使用するC#コードは何ですか?ただし、[次へ]ボタンをクリックすると、同じaspxページが維持されます
- クエリ文字列なし。
- URLの文字も変更せずに; と
- グリッド、データ、コンテンツ、質問は変化し続けますか?
誰かがこれを達成する方法のコードごとの例を与えることができますか?
私の主な質問は、ページのデータを変更して同じURLを維持するために、これがコードビハインドでどのように行われるかです。
サーバー側で維持されるセッションほど単純なものはありません。セッションに「現在の質問番号」を保存し、成功したポストバックごとにインクリメントすると、質問内容がわかります。
別の可能性-「現在の質問番号」を含むCookie。
もちろん、Cookieとセッションの両方がクエリ文字列に表示されません。
「ページのデータを変更し、同じURLを維持してください。」答えはServer.Transferです。このメソッドはURLを保持します。
[次へ]ボタンは、HTTPPOSTメソッドを使用してフォームを送信できます。フォームデータには、セッション、質問、および応答データが含まれる場合があります。サイトはそれを使用して新しい応答を作成します。GETとは異なり、POSTはURLにデータを組み込みません。
開発者は通常、AJAXを使用してこのタスクを実行します。その背後にある基本的な前提は、ページの特定の部分(グリッドやコンテンツ領域など)のみがサーバー呼び出しを行い、結果を取得することです(Javascriptを使用)。達成された効果は、完全なポストバックがないことです。そのため、URLまたはパラメーターが変更されていないことがわかります。
これは、jQuery、純粋なJavascript、またはMicrosoftのUpdatePanelを使用して行うことができます。
oleksiiのコメントにもいくつかの良いリンクがあります:
それがAJAXの魔法です。これには多くのJQueryプラグインがあります。たとえば、ライブデモを使用したプラグインです。JQuery GetやPost、またはXmlHttpRequestオブジェクトを使用するその他のラッパーを使用して簡単にプログラムすることもできます。