- - PR -
別フォームの値を変更
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-06 14:23
はじめまして。
いつも参考にさせて頂いています。 vb.netをはじめたばかりの者ですが、どなたか教えてください。 Form1のボタンで、Form2を呼び出し、 Form2のボタンで、Form2を閉じるという処理をしています。 Form2を閉じる前に、Form1のtextboxの値を変更したいのですが、 Form1.test.text = '10' ↑のようにすると 「Protected Dim WithEvents txStayCnt As System.Web.UI.WebControls.TextBoxは、Protedtedであるためこのコンテキストではアクセスできません。」 という構文エラーになります。 エラーの意味は分かりますが、どうしたらいいか分かりません。 どなたかお願いします。 Form1 ・textboxの定義(aspx.vb) Protected WithEvents test As System.Web.UI.WebControls.TextBox ・ボタン(htmlソース) <input id="F1Button" onclick="fnForm2()" type="button" > ※fnForm2(javascript)で、Form2を呼んでいる Form2のボタン(aspx.vbソース) Private Sub Button1_Click(略) <-- Form1のtextbox testに10をセット---> Form1.test.text = '10' <-- Form2を閉じる---> Dim script As String script = "<script language=""JavaScript"">" script &= "window.close();" script &= "</script>" Response.Write(script) End Sub | ||||
|
投稿日時: 2004-10-06 16:31
Protedtedじゃないようにしてみたのですか?(すると別のエラーがでると思いますが)
しかもこの時点でForm1のインスタンスは特殊な場合をのぞいては存在しませんよね。 すでにクライアントに表示されているFrom1のテキストボックスに値を入れたい、 ということならクライアント側でやる(javascriptなどで)か、From1の方をpostbackする ようにしむける必要があります。あと、textboxに値を入れてwindowを閉じるだけなら Button1_Click時もpostbackする必要はない気もします。 例えば script &= "window.close();" の前に script &= (別ウインドウのテキストボックスの値を操作するスクリプト) を入れるとか |
1