2011-01-17 8 views
3

私はさまざまなコントロールを備えたWebフォームを作成しています。ユーザー入力に応じて、GUIのJQueryのshow()/ hide()関数を使用して表示/非表示を切り替えます。しかし、フォームがポストバックされて検証に失敗した場合、最初のロード状態に戻るのではなく、ポストバック前の状態と同じ状態を維持します。明らかにASP.Netコントロールは状態を保持していますが、純粋なクライアント側のオブジェクトであるHTMLコンテナがあります。JQuery/ASP.Net - ポストバック間で隠されたUI要素の状態を維持する方法

:-(何21世紀よりも私の前jQueryの仕事のより彷彿とさせる - 私は自分自身が隠されたフォームフィールドの暗い(とトリッキー・ツー・デバッグ)のレルムに向かって見つけるソリューションを設計しようとして

?誰もが

+0

ajaxを使用して、クライアント側でも検証とポストバック(つまりサーバー側の対話)を処理することを検討しましたか? – ScottE

+0

AJAXを使って提出してみませんか? – SLaks

+0

@ScottE @SLaks - 投稿していただきありがとうございます。レガシーコードと時間によって制限されているので、私は恐れているような根本的なオーバーホールのための余裕がない:-( – 5arx

答えて

1

、ページの読み込みを私はJQueryishのソリューションを使いました.JSの機能は今すぐ実行されています。 '可視性コントローラ'として機能するASP.Netコントロールの状態をチェックします(obv。はポストバック間で独自の状態を維持します)。そして、JQuery呼び出しによってそれに応じてUIを設定します。

0

私は、トリックは、クライアント側のフィールドの状態を永続化するために隠しフィールドを使用することだと思います...より良い方法を提案することができます

をそうプロセスのようなものです:。

ユーザーアクション - >更新h idden値(S) - バックページの記事は、あなたがUI再設定

次に更新UI>: - :

誰もがこれを読んでいる場合>更新UI