- PR -

EnabledプロパティをfalseにしたCheckBoxListの選択状態取得について

投稿者投稿内容
しょくぱん
常連さん
会議室デビュー日: 2006/05/31
投稿数: 31
投稿日時: 2006-07-03 15:41
VS2003/Framework1.1/C#でwebアプリを作成しています。

掲題の通り、EnabledプロパティをfalseにしたCheckBoxListの選択状態が取得できずに困っています。
おまけにその後、Enabledプロパティをtrueにするとチェックが全てはずれてしまいます。

他のリストコントロールはこのようなことが起こらないのを確かめたんですが、
なぜCheckBoxListだけこうなのか、教えていただけないでしょうか?

よろしくお願いします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 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/05/31
投稿数: 31
投稿日時: 2006-07-03 15:59
burton999様、ご回答ありがとうございます。
javascriptは使用していません。

さらに、先ほどEnabledプロパティをtrueにしたらチェックが外れてしまうと書きましたが、
どうもEnabledプロパティがfalseのままポストバックが発生したときにチェックが外れてしまうようです。
(trueのままならチェックの状態は保持されています)
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-07-03 16:53
先日のもそうでしたが、HTMLレベルで考えて、
disabled=trueなのでformがサブミットされても状態が送信されない、というだけのような気が。
しょくぱん
常連さん
会議室デビュー日: 2006/05/31
投稿数: 31
投稿日時: 2006-07-03 17:15
mio様、ご回答ありがとうございます。

ラジオボタンリストではうまくいきます。
チェックボタンとラジオボタンはsubmitで送信される情報が違うということでしょうか。。。
すいません。図々しいお願いなのですが、「先日のも」という記事も出来れは教えていただきたいです。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-07-03 17:35
>ラジオボタンリストではうまくいきます。
チェックの入ったラジオボタンがdisabledでも、値が取得できているんでしょうか?
ラジオボタンの一部がdisabledでも、チェックの入ったラジオボタンがenabledなら値は送信されます。

>「先日のも」という記事
あ、すみません。burton999さんが挙げられている記事のことです。
しょくぱん
常連さん
会議室デビュー日: 2006/05/31
投稿数: 31
投稿日時: 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>
未記入
ベテラン
会議室デビュー日: 2003/06/26
投稿数: 76
投稿日時: 2006-07-04 00:41
はじめまして、僕も同じ環境でWebアプリを作成しています。

 .Netは、無駄なことは極力省くようで、VisibleをfalseにするとHTMLそのものを出力しないようですし、Enableをfalseにすると初期設定値をViewStateから取って来るようです。改竄防止でしょうかね〜。
 で、僕はCheckBoxListを使わず、HTMLのCheckBoxを使用し、FindControlで探して値を取得しています。

スキルアップ/キャリアアップ(JOB@IT)