- - PR -
repeater内で作成されるUserIDの取得方法について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-18 15:23
お世話になっています。 また、わからないことが発生したのでご存知の方は 教えてください。 ASP.NET2002(C#)でプログラムを作っています。 repeaterコントロール内でつかっているCheckBoxを すべてチェックオン/オフを切り替えるボタンを 作成しようとしています。 ただ、repeaterコントロール内でつかっているCheckBoxの IDを正しく取得することができないで困っています。 ItemCreatedで string a = ((CheckBox)e.Item.FindControl("wChkBox")).ClientID; というようにClientIDを取得しているのですが、 この名前ではありませんでした。 どのようにしたらrepeaterコントロール内でつかっている CheckBoxのIDを正しく取得することができるのでしょうか? #まったく関係はないですが、 CheckBoxをすべてチェックするサンプルのJavaScriptは 下記のように作成しました。
| ||||||||||||
|
投稿日時: 2004-03-18 16:44
msoです。
ASP.NET(C#)でのソースとASP.NETで生成されたソース(HTML)を 比較してみていたらRepeaterコントロールの中で作成される idのルールがわかってきたのですが、まだわからないことがあるので ご存知の方がいたら教えてください。 まず、Repeaterコントロールの中にあるコントロールが作成されるルール なのですが、私のみた限りはこんな感じになります。 Repeaterコントロールの名前(ID)+"_"+automaticIdPrefix+行数+CheckBoxのコントロール名(ID) そこでわからないことがあるのですが、 automaticIdPrefix は今のところ固定で"_ctl"になっているのですが、 automaticIdPrefixをどうにかして取得できないのでしょうか? --------- 一部訂正 [ メッセージ編集済み 編集者: mso 編集日時 2004-03-18 17:57 ] | ||||||||||||
|
投稿日時: 2004-03-18 19:09
UniqueIDじゃダメですか? | ||||||||||||
|
投稿日時: 2004-03-18 19:12
私の取得方法が悪かったのかもしれませんが、 だめでした。 ClientID ID UniqueID は試しましたが、どれも違っていました。 #取得方法のミスかなぁ・・・? | ||||||||||||
|
投稿日時: 2004-03-18 19:15
ItemDataBoundかな
| ||||||||||||
|
投稿日時: 2004-03-18 19:19
『すべてチェックオン/オフを切り替える』というのは、
オンのチェックボックスをオフに、オフのチェックボックスをオンにするということでよろしいでしょうか? であれば、JavaScriptで
ちなみに、上記の
ところで、 Repeaterの中のControlだとClientIDに正しい値が入らないんですか? いま手元に環境がないので試せないのですが、もしよかったら、 string a = ((CheckBox)e.Item.FindControl("wChkBox")).ClientID;で返ってくる値と、 実際にHTMLとして出力される値を教えていただけますか? | ||||||||||||
|
投稿日時: 2004-03-18 19:21
取得しようとしていたイベントを見落としていました。
ItemCreatedだとダメなんですよね。 ItemDataBoundで取得できませんか? ちなみに、HTML上では、 ClientID = ID="****" UniqueID = Name="****" と、なります。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-03-18 19:25 ] [ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-03-18 19:26 ] | ||||||||||||
|
投稿日時: 2004-03-18 19:47
同じく、見落としてました。
ItemCreatedだと、IDプロパティの値がそのまま返ってきてしまいますね。 # ↑で環境がないと書いてから、Web Matrixをインストールしてたことを思い出し確認してみました。 |