1

私はいくつかの調査ウェブサイトでこれを見ました。URLを同じに保つためにクライアント側で使用するC#コードは何ですか?ただし、[次へ]ボタンをクリックすると、同じaspxページが維持されます

  1. クエリ文字列なし。
  2. URLの文字も変更せずに; と
  3. グリッド、データ、コンテンツ、質問は変化し続けますか?

誰かがこれを達成する方法のコードごとの例を与えることができますか?

私の主な質問は、ページのデータを変更して同じURLを維持するために、これがコードビハインドでどのように行われるかです。

4

4 に答える 4

3

サーバー側で維持されるセッションほど単純なものはありません。セッションに「現在の質問番号」を保存し、成功したポストバックごとにインクリメントすると、質問内容がわかります。

別の可能性-「現在の質問番号」を含むCookie。

もちろん、Cookieとセッションの両方がクエリ文字列に表示されません。

于 2012-08-19T18:51:51.327 に答える
1

「ページのデータを変更し、同じURLを維持してください。」答えはServer.Transferです。このメソッドはURLを保持します。

于 2012-08-19T18:58:02.523 に答える
1

[次へ]ボタンは、HTTPPOSTメソッドを使用してフォームを送信できます。フォームデータには、セッション、質問、および応答データが含まれる場合があります。サイトはそれを使用して新しい応答を作成します。GETとは異なり、POSTはURLにデータを組み込みません。

于 2012-08-19T18:58:40.637 に答える
0

開発者は通常、AJAXを使用してこのタスクを実行します。その背後にある基本的な前提は、ページの特定の部分(グリッドやコンテンツ領域など)のみがサーバー呼び出しを行い、結果を取得することです(Javascriptを使用)。達成された効果は、完全なポストバックがないことです。そのため、URLまたはパラメーターが変更されていないことがわかります。

これは、jQuery、純粋なJavascript、またはMicrosoftのUpdatePanelを使用して行うことができます。

oleksiiのコメントにもいくつかの良いリンクがあります:

それがAJAXの魔法です。これには多くのJQueryプラグインがあります。たとえばライブデモを使用したプラグインです。JQuery GetPost、またはXmlHttpRequestオブジェクトを使用するその他のラッパーを使用して簡単にプログラムすることもできます。

于 2012-08-20T15:12:33.147 に答える