- - PR -
EnabledプロパティをfalseにしたCheckBoxListの選択状態取得について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-07-03 15:41
VS2003/Framework1.1/C#でwebアプリを作成しています。
掲題の通り、EnabledプロパティをfalseにしたCheckBoxListの選択状態が取得できずに困っています。 おまけにその後、Enabledプロパティをtrueにするとチェックが全てはずれてしまいます。 他のリストコントロールはこのようなことが起こらないのを確かめたんですが、 なぜCheckBoxListだけこうなのか、教えていただけないでしょうか? よろしくお願いします。 |
|
投稿日時: 2006-07-03 15:46
JavaScriptとかを使用してますか?
C#とJavaScriptの関係(CheckBoxのdisabledプロパティ設定) - Insider.NET http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31617&forum=7 |
|
投稿日時: 2006-07-03 15:59
burton999様、ご回答ありがとうございます。
javascriptは使用していません。 さらに、先ほどEnabledプロパティをtrueにしたらチェックが外れてしまうと書きましたが、 どうもEnabledプロパティがfalseのままポストバックが発生したときにチェックが外れてしまうようです。 (trueのままならチェックの状態は保持されています) |
|
投稿日時: 2006-07-03 16:53
先日のもそうでしたが、HTMLレベルで考えて、
disabled=trueなのでformがサブミットされても状態が送信されない、というだけのような気が。 |
|
投稿日時: 2006-07-03 17:15
mio様、ご回答ありがとうございます。
ラジオボタンリストではうまくいきます。 チェックボタンとラジオボタンはsubmitで送信される情報が違うということでしょうか。。。 すいません。図々しいお願いなのですが、「先日のも」という記事も出来れは教えていただきたいです。 |
|
投稿日時: 2006-07-03 17:35
>ラジオボタンリストではうまくいきます。
チェックの入ったラジオボタンがdisabledでも、値が取得できているんでしょうか? ラジオボタンの一部がdisabledでも、チェックの入ったラジオボタンがenabledなら値は送信されます。 >「先日のも」という記事 あ、すみません。burton999さんが挙げられている記事のことです。 |
|
投稿日時: 2006-07-03 18:14
サーバー側の記述で
RadioButtonList1.Enabled = false; CheckBoxList1.Enabled = false; としているので全部がdisabledになっています。 いま出力されたソースをじろ〜っと見ていたら、 CheckBoxListのCheckBoxにはListItemのvalue値を設定しているにも関わらず、 inputタグにvalue属性が設定されていません。 これが関係しているのでしょうか??? ↓チェックボックスリストのチェックボックスの出力ソース <span disabled="disabled"> <input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1:0" disabled="disabled" /> <label for="CheckBoxList1_0">aaa</label> /span> ↓ラジオボタンリストのラジオボタンの出力ソース <span disabled="disabled"> <input id="RadioButtonList1_0" type="radio" name="RadioButtonList1" value="aaa" disabled="disabled" /> <label for="RadioButtonList1_0">aaa</label> </span> |
|
投稿日時: 2006-07-04 00:41
はじめまして、僕も同じ環境でWebアプリを作成しています。
.Netは、無駄なことは極力省くようで、VisibleをfalseにするとHTMLそのものを出力しないようですし、Enableをfalseにすると初期設定値をViewStateから取って来るようです。改竄防止でしょうかね〜。 で、僕はCheckBoxListを使わず、HTMLのCheckBoxを使用し、FindControlで探して値を取得しています。 |