- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP.Net GridView 非連結フィールド)
ASP.Net GridView 非連結フィールドとは?
このQ&Aのポイント
- ASP.Net GridViewでは、テンプレートフィールドを使用して非連結のテキストボックスを設置することができます。
- しかし、プログラム上では非連結のテキストボックスの値を取得する際に空白が返ってしまうことがあります。
- 上記のコードでも非連結のテキストボックスの値を取得することはできません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
このプログラムだとGridView 3番目のセル(DataControlFieldCell)が持つTextプロパティの中身を表示しようとしませんか? セルの中にあるテキストボックスのTextプロパティをひろってくる必要があると思います。 あと、たぶんテスト的に実行して中身を確認したいためにMsgBox使ってるんだと思いますけど、サーバサイドのプログラムではMsgBoxは動作しないものですので気をつけてください。 どっかでこのようなデバッグ方法紹介されてたのたしかに見た記憶あるけど、問題だなぁ、と思ってました。 VSでブレークポイントつけてウォッチで中みたほうがいいです。 で、ウォッチでGridView1の内部構造たどっていくと、上記プログラムが間違ってる部分もわかると思います。
お礼
onos さん 大変お世話になります。 Me.GridView1.Rows(I).FindControl("TEST") 上記をテキストボックスの変数に代入する形で値が参照できました。 ありがとうございました。
補足
onos さん お世話になります。 MsgBox に関してはデバック以外では動作しないのは承知していましたが、楽だったので使っておりました。 ご指摘があったので以後はブレークポイントでのウォッチの方法に移行しようと思います。 なるほど3番目のセルのDataControlFieldCellの中のテキストボックスのTextプロパティを拾わないとダメですね! ボタンクリックイベントでのプログラムで DataControlFieldCellの中にあるテキストボックスのTextプロパティはどうやって見るんでしょうか? DirectCast(me.GridView1.FindControl("TEST"), TextBox) で値は代入されないみたいなんですが、この場合何を使えばよろしいでしょうか? ご指摘がございましたらよろしくお願いいたします。