2009-06-12 8 views
0

私のASP.NETのWebフォームは、それにプレースホルダを持ち、ユーザーコントロールを動的にに追加されます。コントロールには主にテキストボックスがあります。場合によっては2つのユーザーコントロールがあり、時には10があります。すべてが期待どおりに動作しています。私の質問は、新しい機能を実装する方法です。コピー先

私の顧客は、問題の追加のコントロールに関連付けられたチェックボックスをチェックする別のコントロールに最初のコントロールからデータをコピーするための新しい要求を持っています。まず

、これは簡単に聞こえた...各ユーザーコントロールのプレースホルダにチェックボックスを追加して、追加の制御への最初のコントロールからデータをコピーするために、いくつかのJavaScriptを記述します。その後、私はそれらのテキストボックスがユーザーコントロールにあることで、HTML入力を直接変更するアクセス権がないことに気付きました。

次は、自動的にポストバックするチェックボックスを追加することを考えましたが、プレースホルダにチェックボックスを動的に追加するにはどうすればよいですか?チェックボックスにイベントハンドラを追加して情報を渡す方法コントロールをループして値をコピーするのに必要です。このアプローチは、目標を達成するためにあまりにも多くのオーバーヘッドで複雑すぎるようです。

提案がありますか?

+0

(:-)。それは私がこの質問につまずいた方法である、私は今、何をする必要があるかを正確ですが)は、...からそれを使用しています質問? –

+0

JavaScriptは完全に受け入れられ、おそらく好ましいです。私は、テキストボックスがユーザーコントロールにあるという事実は、扱うのが少し面倒だと思います。 – proudgeekdad

答えて

0

あなたは、チェックボックスは、ユーザーコントロールにあるので、あなたがそれらへのアクセスを持っていないと述べました。

あなたはユーザーコントロールのプロパティを使用してのClientIDを公開して、JavaScriptで彼らと仕事ができますか?このような何か:

user_control { 
    int checkboxId { get { return checkbox.ClientId; } } 
} 

あなたが参考になる多くのコードをお持ちの場合...

0

これはおそらくあなたを助けるために遅すぎるが、ちょうどので、別の答えはそこにある...含める ユーザーコントロールの一部としてのチェックボックスは、問題を大幅に簡素化します。

同様の状況がありましたが、ユーザコントロールにUIコントロールが10-15個あり、チェックボックスをオンにするとチェックボックスがオンになり、最初のユーザーコントロールからすべてのコントロールに情報をコピーする必要がありました。他人。

コードビハインドにすべて組み込まれていたので、チェックボックスの表示を切り替えたShowCheckBoxという名前のユーザーコントロールのブール型プロパティを公開しました。私はこれを最初のものではtrue、それ以外のものではfalseに設定しました。したがって、最初のユーザーコントロールのチェックボックスをクリックするだけでイベントを発生させることができます。次に、チェックボックスのイベントハンドラで、最初のユーザコントロールから他のすべてのコントロールにコピーを処理しました。 (ちなみに、そのチェックボックスにAutoPostBack=trueを設定すると、イベントが発生しない理由がわかります)

Javascriptは確かにユーザーエクスペリエンスが向上します私はJavaScriptにClientIdの値を取得する方法を理解する。あなたがタグとしてJavaScriptを持っていますが、あなたの質問にそれを言及していない

関連する問題