2011-09-08 11 views
0

すべてのコントロールIDについてです。私は私のasp.netプロジェクトでチャット機能を開発しています。私は、現在のユーザーがチャットしているターゲットユーザーのためにチャットdivを表示する必要があります。各チャットdivにはユーザーコントロールが読み込まれます。同じWebページに複数のコントロールショーがあるかどうか、コントロールIDは何ですか?たとえば、ユーザーコントロールid = "tb1"にテキストボックスがあります。ページに2つのユーザーコントロールがある場合、2つのテキストボックスは同じIDを共有しますか?私は、2つのチャットdivが表示されても、divのコンテンツが同じであることが分かりましたので、私は尋ねています。ページ内で同じユーザーコントロールを複数回使用することは可能ですか?

答えて

1

はい、同じコントロールを同じページで何回でも使用できます。

各ユーザーコントロールは異なるIDを持つので、その中の子コントロールは、すべてがサーバーコントロールである限り(つまりrunat = "server"タグを持つ限り)コンテナコントロールのIDに基づいて異なるIDを持ちます)。

+0

$ .load()メソッドを使用して、同じユーザーコントロールを持つ複数のページを読み込むと、それでもいいですか? –

+0

@Steven Zack:あなたの前のコメントは、あなたがユーザーコントロールを読み込むのではなくむしろページを読み込んでいると信じさせてくれました。 JQueryの$ .load()関数を使用してasp .netユーザーコントロール(ascx拡張子を持つファイル)を読み込むことはできません。 – Icarus

+0

@lcarus、あなたは正しいです。拡張子.aspxのページを読み込みますが、そのページにはユーザーコントロールがあります。だから私はそれらのそれぞれが同じユーザーコントロールを持っているそのようなページを読み込むと、それでも良いですか? –

0

いいえ、テキストボックスは同じIDを持ちません。ユーザーコントロールが異なるため、2つの異なるClientIDが割り当てられます。

ブラウザのページのソースを表示すると、コントロールのIDが表示されます。クライアントIDは次のようになります。ctl00_ContentBody_tb1_TextBox1

+0

実際に、ページをロードするとユーザーコントロールがあると、ソースコードを表示ソースメニューで見つけることができません。 –

+0

マークアップにあるユーザーコントロールのようには見えません。あなたのユーザーコントロールから出力されるHTMLになります。あなたはあなたがユーザーコントロールを割り当てたIDで検索することができるはずです。クライアントIDに埋め込まれます。 –

関連する問題