- 締切済み
以前にも同じような質問があったと思いますが、検索しても見つけることがで
以前にも同じような質問があったと思いますが、検索しても見つけることができなかったので質問させていただきます。 VisualWebDeveloper2008のWebアプリケーションで言語はVBで開発中です。。 TextBoxを縦20行横5列(IDはTextBox1…TextBox100)に配置した入力フォームで、TextBoxに入力された値を行ごとに取得していくやり方がわかりません。 さらに値を取得したら、TextBox5、TextBox10…………TextBox95、TextBox100は"あ"という文字を、それ以外のTextBoxには"い"という文字も付け加えたいです。 VBAでは For~NextとSelect Case を使いTextBox番号を指定してうまくできたがASP.NETではエラーとなってしまいます。 二次元配列やコントロール配列なども参考にしてみましたが、エラーが上がりうまくいきません。 http://okwave.jp/qa/q3457688.html 初心者で分かりづらい質問ですがよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- すもあん(@ryoyama)
- ベストアンサー率56% (45/80)
回答No.1
TextBoxに規則性のあるIDを付与しているのならControlクラスにあるFindControlメソッドを使うといいと思います。 FindControlメソッドにはID("TextBox1"等)を渡します。 このように使います。 For i = 1 To 100 CType(FindControl("TextBox" & i), TextBox).Text = "あ" Next これをちょっと工夫するとご希望の動作が実現できると思います。
お礼
なんとか、できるようになりました。 ありがとうございますm(__)m
補足
素早い回答ありがとうございます。。 ryoyamaさんの回答を参考にして、希望どおりの動きになりました。 ありがとうございますm(__)m そこで追加質問となりますが、逆に「何も入力されていない行は文字を付け加えない」のような記述はどのように書けばいいでしょうか? TextBox1、extBox6・・・・の先頭列をキーに+4の範囲内でみたいに書けば・・・。う~ん??? 何か参考になるコードがあればお願いします! 初心者なもので、段階を踏んでプログラムを書いていますので、追加質問となってしまいました。