- - PR -
ASP.NETのラジオボタンについて
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-02-28 12:54
お世話になります。
ページにRadioButtonを3つ配置しています。 GroupNameを設定してどれか1つのみ選択可能として、 対応するTextboxの利用可/不可の切替をサーバ側でさせています。 (切替にはUpdatePanelを使用) 初期状態でどれも選択させていなければ問題なく動くのですが、 初期選択させようとPage_LoadでCheckedプロパティをコードで設定すると CheckedChangedイベントが発生しなくなります。 生成されたソースをみると、 Checkedプロパティを設定したRadioButtonには「checked="checked"」、 他のRadioButtonには「onclick="javascript:〜」と違っています。 Checkedプロパティをいじるとイベントが作成されないものなのでしょうか? よろしくお願いします。 ASP.NET2.0(VB2005) マスターページ使用 | ||||
|
投稿日時: 2008-02-28 13:57
RadioButtonには「checked="checked"」になっているのであれば
イベントは発生しないですね。 全体的に見て、これで正しい動作と思います。(LoadでCheckしているので当然動作しません) で、もう少しプログラムを精査した方がよいです。 参考になればと思います。 | ||||
|
投稿日時: 2008-02-28 14:15
indigo-x様、返信ありがとうございます。
> 全体的に見て、これで正しい動作と思います。(LoadでCheckしているので当然動作しません) そうですか。 初期値を設定する場合はイベント設定していてもダメなのですね.. Webプログラムの場合は、初期設定しないのが普通なんでしょうか。 > で、もう少しプログラムを精査した方がよいです。 精査とは?具体的にどのようにすればいいのでしょう? 何かプログラム作成の上での見落とし等ありますでしょうか。 | ||||
|
投稿日時: 2008-02-28 14:44
>Webプログラムの場合は、初期設定しないのが普通なんでしょうか。
そんなことはありません。 indigo-xさんが申しているのは checked = trueとしたラジオボタンにonclickイベントが設定されていないのは当然。 既にOn状態なのだから、これ以上Onにする必要は無い為、出力されていない。 ということですね。 それとも、他の未選択ラジオを選択してもCheckedChangedイベントが発生しないということですか? | ||||
|
投稿日時: 2008-02-28 14:55
くまっち様、返信ありがとうございます。
> checked = trueとしたラジオボタンにonclickイベントが設定されていないのは当然。 > 既にOn状態なのだから、これ以上Onにする必要は無い為、出力されていない。 > ということですね。 そういうことだったのですね。すっかり勘違いしておりました。 > それとも、他の未選択ラジオを選択してもCheckedChangedイベントが発生しないということですか? そうです。 イベントが起きないため調査していました。 このことを書いておかないとわからないですね。すみません。 | ||||
|
投稿日時: 2008-02-28 15:17
CheckedChangedイベントの説明を読みますと、
とあります。 ですので、Page_Loadメソッド内でCheckedプロパティの値を変更しても、 CheckedChangedイベントは発生しません。 …という説明でよいでしょうか? | ||||
|
投稿日時: 2008-02-28 15:40
rain様、返信ありがとうございます。
> ですので、Page_Loadメソッド内でCheckedプロパティの値を変更しても、 > CheckedChangedイベントは発生しません。 はい、これは理解しています。 他のラジオボタンを選択後、再度選択してもCheckedChangedイベントが発生しないので なぜかなぁと調べています。 言葉足らずで申し訳ありません。 動きとして、初期値を設定しても他のラジオボタン同様 選択状態が変わったらCheckedChangedイベントが発生して欲しいのです。 初期値設定しなければちゃんと動くのですが。 | ||||
|
投稿日時: 2008-02-28 16:08
RadioButtonListは使えないですか?
|