- - PR -
【ASP.NET】DataGridのCheckBoxからCheckedプロパティを取得する方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-22 18:23
質問させて頂きます。
どうかよろしくお願い致します。 OS:WindowsXP Pro 開発環境:VS.NET(ASP.NET Webアプリケーション) 当方は現在ASP.NETにてWebアプリの開発をしております。 Webフォーム上にDataGridを貼り付けておりまして プロパティビルダにてテンプレート列を追加し 行ごとにチェックボックスを配置しています。 そしてどの行のチェックボックスをチェックしたか 判断するために、ボタンを押したイベントが発生した際に 下記のような処理を行っております。 *************************************************** short wCnt; CheckBox chbx; for ( wCnt = 0 ; wCnt < DataGrid1.Items.Count ; wCnt++){ chbx = ( CheckBox )DataGrid1.Items[ wCnt ].FindControl( "CheckBox1" ); if( chbx.Checked ) { ・・・・ } } *************************************************** しかしチェックしたにも関わらずすべてfalseと判断してしまいます。 ただ単にブラウザ上でのチェックしたという情報がサーバ側に無い だけだと思うのですが、サーバ側で取得する手段がわからずにおります。 大変レベルの低い質問ではありますが どうかご教授頂ければ幸いです。 よろしくお願い致します。 | ||||
|
投稿日時: 2005-09-22 18:34
検索してみました。
http://support.microsoft.com/kb/320707/JA/ _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-09-22 18:54
こんばんわ。
以前daikokuさんのとほぼ全くコードを書いたことがありますが、問題無く動いてます。 唯一違うところといえばwCntがshortじゃなくてintなことくらいです。 aspxの方が何かおかしいのかな?こっちだとこんな感じですけど。 <ItemTemplate> <asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox> </ItemTemplate> | ||||
|
投稿日時: 2005-09-22 19:09
>ほのぼのさん
>じゃんぬねっとさん 早急な返答感謝いたします。 大変助かります。 じゃんぬねっとさんに教えて頂きましたサイトにて 同様の処理にしましたが思ったような動きになることが 出来ませんでした。 ほのぼのさんが載せてくださったaspxのHTML文も 私の方と比較させて頂きましたが同等のものと判明致しました。 どうしてCheckedプロパティを取得出来ないのか 皆目検討が付かなくって来てしまいました・・・ 何かが抜けていることは間違いないのですが。 じゃんぬねっとさんに教えて頂いたサイトの手順が 正規のものだと思うのでもう一度一から見直してみようと思います。 | ||||
|
投稿日時: 2005-09-22 19:32
ボタンでのポストバック時に、サーバー側へはどのようなリクエストが送られていますか?
(問題はボディ部ですね。) チェックされたという情報自体がサーバーに送られていないのか、それとも送られているのにプログラムで取得できないのかどっちでしょう。 参考: これを使うとリクエストの内容が簡単に見えます。 http://hide.maruo.co.jp/software/inetspy.html | ||||
|
投稿日時: 2005-09-22 19:52
>一郎さん
返答ありがとうございます。 ツールの方、紹介して頂きましてありがとうございます。 リクエストの見方がわからない為、大変助かります。 さっそくインストールさせて頂きました。 見たところ私ではちょっと理解するのが難しく 現在、一つずつ何を意味しているか見ているところです。 下記のようなリクエスト情報がボタンを押した際に来ているようです。 ****************************************************************** POST /GpsDemoMap/WebForm1.aspx HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* Referer: http://localhost/GpsDemoMap/WebForm1.aspx Accept-Language: ja Content-Type: application/x-www-form-urlencoded Connection: Keep-Alive User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: localhost Content-Length: 3891 Pragma: no-cache Cookie: ASP.NET_SessionId=3spuinmme2kk2uyf50egdv55 __VIEWSTATE=dDw4NjM1NjYyNTQ7dDw7bDxpPDE%2BOz47bDx0・・・・(長い文字列です) ****************************************************************** 知識不足で申し訳ありません。 勉強します。 | ||||
|
投稿日時: 2005-09-22 20:37
その長い文字列は、 ID=値&ID=値&ID=値&・・・ という形になっています。 初めの"__VIEWSTATE"というIDを持つ値はいりませんので、その次の値からを書き込んでもらえますか? つまり、初めに&の文字がある場所から先をコピペしてくださいということです。 | ||||
|
投稿日時: 2005-09-22 20:58
本当に同様の処理なら動くでしょう。 まずサンプルをそのままコピーして動くことを確認する。 少しずつ手を入れながら、目標の画面を作り上げる。 そうすれば失敗しないですよ。 |