3

私は一般的な「フォームページ」ユーザーコントロールを使用しており、編集者はその中に好きな種類のhtmlフォームを挿入でき、すべてのフォーム投稿を処理できます。

私の質問は、一部のサーバー側の検証が失敗した場合に、バニラの非aspフォームエントリをビューステートに保存するか、フォームポストにエントリを保存して、ページが更新されたときに復元できるようにする方法はありますか? ?

現在、入力エラーの大部分をキャッチする事前のJavaScript検証をすでに行っています。さらに処理を行う前に、すべてのフォーム投稿データをデータベースに保存します。一部のエントリには、ジャンク(無視したいスパム)または部分的な情報(ユーザーがJavaScriptを持っていない場合を想定しています)が含まれています。有効)。私はこれらの最後のフリンジケースをキャッチしようとしているので、それらを処理しません。

4

3 に答える 3

1

フォーム フィールドが事前にわからない場合は、部分的なポストバックを調べることをお勧めします。

または、ajax 経由でフォームを投稿します。

于 2012-10-05T18:35:25.247 に答える
1

これを正しく理解している場合、1>ユーザーがフォームに入力する 2>送信をクリックする 3>サーバー側でエラーが検出された 4>返送されたHtmlには、上部にエラーメッセージが既に入力されているフォームが含まれている必要があります。

JQuery Ajax の使用を検討したことがありますか?

jquery ajax は Web メソッドに投稿します。Web メソッドは JSON 応答を返します。応答が成功の場合、ユーザーは次のページにリダイレクトされます。それ以外の場合は、ページの上部にエラーが表示されます。

そうすれば、ユーザー入力の状態を維持する必要はありません (失われることはないため)。

于 2012-10-08T18:56:53.747 に答える
0

テキストHTMLをに保存できます

     <asp:HiddenField ID="hid1" runat="server" />

これは View State で渡されます

于 2012-10-05T18:49:11.050 に答える