0

私は ajax 全体を始めたばかりで、助けが必要です。ユーザーが複数の電子メール アドレスをレコードに追加できるフォームがあります。ユーザーが [新しい電子メール アドレスを追加] をクリックすると、電子メール アドレスを挿入する ajax 呼び出しを実行し、現在の電子メールを編集用に表示します。問題ないように聞こえますが、唯一の問題は、フォームが送信されたときに、これらの値のサーバー側にアクセスできるようにしたいだけでなく、データベースからのシーケンス番号を保存して、最終的な送信時に電子メールを更新できるようにすることです。リピーターでは、隠しフィールドにシーケンス番号を格納してからアイテムをループしますが、リピーターを使用していないときはそれができません。ネットワーク トラフィックが大きいため、更新パネルの使用を避けたいと考えています。リクエストは使えると思います。フォーム コレクションですが、ユーザーに見えないようにシーケンス番号を保存するにはどうすればよいでしょうか? 私は完全に基地から外れていますか?

4

1 に答える 1

0

とにかく、隠しフィールドを使用できなかったのはなぜですか? それらが要素内にある限り、それらがformどこにあるかは問題ではありませんね。

たとえば、メール フィールドにname「email_1」、「email_2」などの属性が設定されているとします。「seq_email_1」、「seq_email_2」などnameの非表示フィールドに設定できます...

そして、Request.Form を反復処理して、電子メールとシーケンス番号を読み取ることができます。

foreach (string key in Request.Form.AllKeys) {
    if (key.StartsWith("email_")) {
        string email = Request.Form[key];
        int seq = int.Parse(Request.Form["seq_" + key]);

        // process email with seq number
    }
}
于 2008-10-24T01:24:02.673 に答える