- PR -

C#でHTMLコントロールの値を取得

1
投稿者投稿内容
アヒル
会議室デビュー日: 2007/04/02
投稿数: 3
投稿日時: 2007-05-05 16:59
Web初心者です。
DBに登録されているお気に入り画像の一覧を動的に表示させて、それぞれに対応した”<input type="checkbox"/>”も表示させています。
画面上のボタン(asp:Button)クリック時に、チェックボックスにチェックがあるものをDBから削除させる処理を行いたく思っています。

無理なのかもしれませんが、HTMLコントロールであるチェックボックスの値をC#から読み取る方法がわかりません。動的に(asp:CheckBox)を生成する方法がわからなかったので、HTMLコントロールのチェックボックスを表示させていますが、このような処理を行いたい場合はどのようにするのが良いでしょうか?

先輩方のアドバイスをお願いいたします。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-05-05 17:53
DataGridViewを使うのがいいと思う。
どこがチェックされているかはサーバ側で取得できるので簡単だよね。

つかHTMLコントロールなんて使わない方がいいよ。
ASP.NETのサーバーコントロールを使った方がいい。
サーバーコントロールはHTMLタグを隠蔽しているだけでなくてクライアントのブラウザにあわせて適切に出力されるようになってる。

DataGridViewを使えば動的に作るということもあまり考えなくてもよくなるね。

あほな日本語ミスを修正。

[ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2007-05-05 17:59 ]
karajan
ベテラン
会議室デビュー日: 2002/07/05
投稿数: 89
投稿日時: 2007-05-06 14:07
this.Request["コントロールName属性値"]
でそのコントロールの値は取れるでしょう。

複数の値を取るなら
<input type="checkbox" value="img1" name="deleteCheck" />画像1
<input type="checkbox" value="img2" name="deleteCheck" />画像2
<input type="checkbox" value="img3" name="deleteCheck" />画像3
string[] values = this.Request["deleteCheck"].Split(',');
これで選択対象のvalue値を配列で取得できます。

説明は端折ってますが、大体わかるかと思います。
わからなかったら調べてください。

[ メッセージ編集済み 編集者: karajan 編集日時 2007-05-06 14:08 ]
アヒル
会議室デビュー日: 2007/04/02
投稿数: 3
投稿日時: 2007-05-06 15:57
>ぶさいくろうさん
返答ありがとうございます。
>サーバーコントロールはHTMLタグを隠蔽しているだけでなくてクライアントのブラウザにあわせて適切に出力されるようになってる。
これを読ませていただいて、サーバーコントロールの利点がひとつ理解できました。些細ですが、これまでサーバー負荷を少しでも減らすために、なるべくHTMLコントロールを用いるようにしておりました。今後は、このことも踏まえて使い分けたいと思います。
1画面の画像の表示数は決まっていましたので、チェックボックスも静的に用意してvisibleで制御するように修正いたしました。ありがとうございます。

>karajanさん
ご教授ありがとうございます。
これまでも、この取得方法がわからずに困っておりました。書いていただいたようにした結果、取得できました。ほんとうにありがとうございます。


ここで聞かせていただいた結果、たくさんの知識を得ることができましたし、解決に至りました。ほんとうにありがとうございました。
1

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