web上のTextBoxに値を代入したい

このQ&Aのポイント
  • asp.netとVBでwebプログラムを作成しています。web上にTextBox1~TextBox10を置いて、それぞれに1,2,3,4・・・・10を代入したい場合、コンパクトにまとめることは可能なのでしょうか?
  • Forループを使用してTextBox1~TextBox10に1から10までの値を代入する方法について教えてください。
  • 上記のコードを実行すると「.textはSystem.Web.UI.Controlのメンバーでない」というエラーが表示されます。このエラーの原因と解決方法について教えてください。
回答を見る
  • ベストアンサー

web上のTextBoxに値を代入したい

asp.netとVBでwebプログラムを作成しています。 web上にTextbox1~Textbox10を置いて、それぞれに1,2,3,4・・・・10を代入したい場合 Textbox1.text = 1 Textbox2.text = 2 ・ ・ Textbox10.text = 10 と書けば、それぞれに数字が代入され表示されますが、 For i = 1 to 10 Me.controls("Textbox" & cstr(i)).text = i Next と言うような書き方でコンパクトにまとめることは可能なんでしょうか? ちなみに、上記の記述をすると、「.textはSystem.Web.UI.Controlのメンバーでない」旨の エラーになります。 どなたかご教示お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.1

Me.controls("Textbox" & cstr(i)).text = i の cstr(i)の結果が、 i=1のとき" 1"(前に符号を示す空白が入っている)となっているから "Textbox 1"となってしまい、"Textbox1"はあるけど"Textbox 1"はないので、 「.textはSystem.Web.UI.Controlのメンバーでない」 となっているだけでは? とりあえず、 Me.controls("Textbox" & trim(cstr(i))).text = i で試してみてください。 ## Me.controls("・・・")は普段使わないので違っているかも。 ## 違うようなら返事ください。 ## 私が普段使っている方法を書きます。

関連するQ&A

  • RichTextBoxに代入されたTextBoxの数を表示

    VB2008を使用しています。現在、10個のTextBoxとそれに対応するCheckBoxを作成し、チェックの入ったTextBox内の文字をRichTextBoxに代入するプログラムを作成しています。そこでRichTextBoxに代入されたTextBoxの数を別のTextBoxに表示させたいのですが何か良い方法はありますでしょうか?現在、下記のようにコードを組んであります。 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click RichTextBox1.Clear() If Me.CheckBox1.Checked = True Then RichTextBox1.Text = TextBox1.Text If Me.CheckBox2.Checked = True Then If RichTextBox1.Text <> "" Then RichTextBox1.Text = RichTextBox1.Text & "・" End If RichTextBox1.Text = RichTextBox1.Text & TextBox2.Text ・ ・ ・ If Me.CheckBox10.Checked = True Then If RichTextBox1.Text <> "" Then RichTextBox1.Text = RichTextBox1.Text & "・" End If RichTextBox1.Text = RichTextBox1.Text & TextBox10.Text End If

  • TextBoxをInteger型の変数に代入したい

    開発環境は、VB2005 ExpressEditionです。 TextBoxをInteger型の変数に代入したいのですが。 Dim num01 As Integer 1 num01 = Int(TextBox1.Text) 2 num01 = CInt(TextBox1.Text) 3 num01 = Integer.Parse(TextBox1.Text) 1,2,3どれで実行しても”入力文字列の形式が正しくありません。”とでてしまいます。どなたか良い方法をご存知の方がいたら、教えて下さい。

  • VB.net Webアプリケーションでのユーザーコントロール(DLL)の作り方

    VB.netでWebアプリケーションでのユーザーコントロール(DLL)を試しに作ったのですが(テキストボックスを張り付けただけのもの)、WebアプリケーションにそのDLLを張り付けてもテキストボックスがでてきません。なぜでしょうか? DLL側のソース(一部)  Inherits System.Web.UI.UserControl'ユーザーコントロールと定義  Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox'テキストボックスはりつけ

  • コントロール配列について、基礎で躓いています。

    Visual Basic 2010でプログラムを作成しています。 今、ラベルが約30個フォームに貼ってあり、そのtextをすべてtextbox1のtextに変更されるようにしたいと考えています。 Label1.text = Textbox1.text Label2.text = Textbox1.text としていけば確実なのでしょうが、簡素化したいのです。 いろいろと検索して心身ともに消耗しきったため、最後の綱として質問させていただきました。 たとえばtextbox1のコードとして Dim btn(30) As Button For i = 1 To 30 btn(i) = Me.Controls("Button" & CStr(i + 1)) btn(i).Text = CStr(i + 1) Next i と書きいれるとNullReferenceExceptionというエラーが出てきてしまいます。 何か書き足りないのでしょうか。何卒よろしくお願いします。

  • Access2000でTextBox変数の代入

    Access2000でTextBox変数を作成し、条件に応じて フォーム上に配置した2つのテキストボックスをその変数に代入したいのですが、うまくいきません。 Public tBox as TextBox If i = 1 Then Set tBox = テキスト1 ElseIf i = 2 Then Set tBox = テキスト2 End if ※ テキスト1、テキスト2はフォーム上に配置した テキストボックスの名称 このコードを実行すると、テキスト1は テキスト1.Textと解釈され、Textプロパティに何も設定 されていない場合、tBoxにはNULLが代入されます。 Textプロパティの値ではなく、テキストボックスオブジェクトそのものを変数に代入するにはどうすればよいのでしょうか。 ご教授お願いします。 環境は OS:Windows2000 Professional   Access2000 です。

  • asp.netでtextboxの値を取得

    ASP.net Webフォームで質問です(VS2012) ASP.netのTextBoxコントロールではなく、HTMLのtextboxの値を取得することは可能でしょうか。 また、textboxが複数あった場合でも、全てを取得したいのですが、 textboxがいくつあるか、その全てを取得するにはどのようにすれば良いでしょうか。

  • TextBoxの場合だけ処理したい

    VB2005でフォームの中のテキストボックスの中身をすべて""(空白文字列)にしたいと思っています。 VB6の時には、以下のコードでテキストボックスの中身を""にしていたのですが、VB2005になってから、captionプロパティがなくなって、この方法ではラベルやボタンまで""になってしまいます。 Dim TextBoxControl As Control On Error Resume Next For Each TextBoxControl In Me.Controls TextBoxControl.Text = "" Next 要するにこのコードの中にifでTextBoxの場合のみ処理するように書けばいいと思うのですが、その方法が見つかりません。if ~ thenの間に書く式を教えていただきたいと思います。

  • vb2005でウェブページのテキストボックスに値を代入するには?

    WebBrowser1.Document.All.Item("userName").Value = "xxx" お世話になります。 以前のvbだとこれで代入できたのですが valueプロパティがなくなっていて 代入できません。 どうすれば、vb2005からウェブページの テキストボックスに代入できるのでしょうか? 教えてください。お願いします。

  • フォーム上のすべてのTextBoxを空にしたい

    現在適用中のコード:(VB2008) Dim objtextbox As Control For Each objtextbox In Me.Controls objtextbox.Text = "" Next 問題: 1、VB6と違い、Captionプロパティがなくなったため、TextBox以外のTextプロパティも空になってしまうので、コントロールがTextBoxのときだけ処理したい。 2、上記のコードだと、フォーム上にあるグループボックスの中は適用されない。In Me.controles 一発ですべてのグループボックスの中のTextプロパティまで処理したい。 3、そんなのは無理という場合、すべてのコントロールをフォームがロードされた状態にしたい。(できれば、CloseしてShowするのは避けたい) いろいろ試してみましたが、うまくコードがかけません。ご迷惑をおかけいたしますが、皆様の知恵をお貸しください。

  • エクセルのユーザーフォームにあるテキストボックスへの値代入

    エクセルのユーザーフォームにあるテキストボックスへの値代入 お世話になります. エクセルのシートの入力を,ユーザーフォームを使って入力させています. 新規の場合は空欄のフォームがでるのですが,既存の列を編集するには編集用のフォームで行っています. フォームにはテキストボックスが15個(Textbox1からTextbox15まで)あり,Textbox1はCells(*,1)Textbox2はCells(*,2)というふうにセルの列との関連付けがあります. この規則性を上手く使おうと,For Nextを使っていきたいのですが, Dim r As Integer Dim i As Integer Dim t As String r = ActiveCell.Row For i = 1 To 15 t = "TextBox" & i t = Cells(r, i).Value Next i と,ここまで入力をしてみたものの,値の代入がうまくいきません. MsgboxでCells(r, i)の動きは確認できているので,おそらく,TextBox & iのところが原因と思われますが・・・ どのように修正すればよろしいでしょうか?教えてください.

専門家に質問してみよう