- - PR -
Label に動的に値をセットしたい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-30 11:59
こんにちは。
いつも質問ばかりして申し訳ありませんが、またよろしくお願いします。 現在、C#.NET Webアプリケーションの開発をしています。 画面に Label1,Label2,Label3,Label4 を設置します。 他の画面にチェックボックス「A」「B」「C」「D」があり、 「A」「B」を選んだら、Label1=A, Label2=B 「C」「D」を選んだら、Label1=C, Label2=D 「A」「B」「D」を選んだら、Label1=A, Label2=B, Label3=D というようにLabelに動的に値をセットしたいのですが、方法が分かりません。 感覚としては、 if(CheckBox1.Checked) { Labeli = A; i++; } if(CheckBox2.Checked) { Labeli = B; i++; } ・ ・ ・ のようなことができると、簡単なんだろうなとは思いますが、 こういう書き方ってできるんでしょうか? 他の方法でもいいので、ご存知の方は教えてください。 よろしくお願いいたします。 | ||||
|
投稿日時: 2005-08-30 12:19
CheckBoxのAutoPostBackをTrueにするとかいう話ではなくて??
普通にあや☆さんのコードでできると思うのですが。。。 | ||||
|
投稿日時: 2005-08-30 12:31
「Labeli」の部分ができないでしょう。
のようなことをする必要があると思います。 | ||||
|
投稿日時: 2005-08-30 13:04
他の方法としては、4個の配列を用意しておき、チェックされた文字列を順に配列に入れていきます。
あとは、4個の配列から、それぞれLabel1から順に値を入れていけば良いでしょう。 [ メッセージ編集済み 編集者: trapemiya 編集日時 2005-08-30 13:05 ] | ||||
|
投稿日時: 2005-08-30 14:35
burton999さん、にしざきさん、trapemiyaさん
返信大変ありがとうございました。 にしざきさんのソースを参考に書いたら、うまく動作しました。 またtrapemiyaさんのアドバイス通り配列も使ってみて、すっきりとしたソースになりました。 参考までに、載せておきます。 //チェックをつけた項目を配列に代入 string [] Data = {"","A","B","D"}; //Label1,Label2・・・に上から順に代入 for(int i=1;i<Data.Length;i++) { Label Label = FindControl("Label" + i.ToString()) as Label; if (Label != null) Label.Text = Data[i]; } ありがとうございました。 また質問することもあると思いますが、よろしくお願いいたします。 |
1