0

ViewState を無効にしても、テキスト ボックスが更新やポストバックの前後で値を保持することを妨げない方法について、多くの情報があることは知っています。私が見つけられないのは、この動作を回避する方法に関する情報です。

これが私がこれを行う必要がある理由です。AJAX 経由でデータベースを更新するフォームがあります。ユーザーがフィールドを変更するたびに、データベースはすぐに更新されます。このため、データベース以外に値を保存する理由はありません。

次のシナリオを検討してください。

  1. ユーザーがページをロードすると、テキスト ボックスの FirstName の値は "Bob" になります。
  2. ユーザーが名を「Dave」に変更します。(データベースの更新)
  3. ユーザーが更新ボタンをクリックします。

FirstName ボックスの値が "Dave" になるはずですが、代わりに "Bob" が表示されます。では、ASP に db から値をロードさせるにはどうすればよいでしょうか?

4

2 に答える 2

1

私が遭遇した問題は、正しいページイベント中にコントロールを作成して設定することに関係していたようです。Page_Init でコントロールを作成し、Page_Load でそれらを設定することで、これを修正しました。

于 2013-07-24T16:18:18.803 に答える
1

ユーザーが更新ボタンをクリックします。

このステップでは、データベースからデータを再度読み取り、そのデータをコントロールに強制的に入力します。ページからのすべての「イベント」が実際に AJAX 要求によって処理される場合、意味のある「WebForms イベント」は 2 つだけで、「更新」ボタンPage_Loadのハンドラーのように聞こえます。Clickこれら 2 つのイベントの 1 つは、データベースからコントロールを再設定する必要があります。

(または、「更新」ボタンがなく、ユーザーがブラウザー機能を介してページを再読み込みしているだけですか?その場合Page_Load、このシナリオでは常にデータベースからコントロールを設定する必要があります。)

于 2013-07-22T16:27:32.423 に答える