開発環境はASP.NETです。
現在作成しているアプリはフレームセットを使用し、
htmファイル1ページに4つのWebFromを実装しています。
WebForm1(Cls_Footer)のボタンを押下した時に、
WebForm2(Cls_Header)のラベルに文字を出力したいのですが・・・
何かいい方法がありましたら、御教授お願いいたします。
お世話になります。
Sessionで文字情報の受け渡し、はどうでしょうか。
以下、実験結果
フレームセットをプロジェクトへ追加。
種類は「ヘッダー、フッターおよびコンテンツ」。
Header.aspxとFooter.aspxをプロジェクトへ追加。
Header.aspxにボタンを配置。Footer.aspxにLabelを配置。
フレームセットのheaderにHeader.aspx、
footerにFooter.aspxを割り当てる。
■Header.aspxのコード
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Session("test") = "test_string"
Response.Write("<script language='javascript'>window.parent.frames[3].document.forms[0].submit();</script>")
End Sub
■Footer.aspxのコード
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Me.IsPostBack Then
Me.Label1.Text = CType(Session("test"), String)
Session("test") = Nothing
End If
End Sub
ASPは詳しくないのですが。。
Query Stringを使って
■WebForm1側のコード
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Response.Redirect("WebForm2.aspx?p1=テスト送信")
End Sub
■WebForm2側のコード
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = Request.QueryString("p1")
End Sub
こんな方法も有るような気がするが。
連続で失礼。
Sessionを使う方法だと、
■WebForm1側のコード
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Session("SendString") = "テスト送信"
Response.Redirect("WebForm2.aspx")
End Sub
■WebForm2側のコード
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = Session("SendString")
End Sub
こんな方法も有るし、
Cookieを使う、
■WebForm1側のコード
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button3.Click
Response.Cookies("SendString").Value = "テスト送信"
Response.Redirect("WebForm2.aspx")
End Sub
■WebForm2側のコード
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = Request.Cookies("SendString").Value
End Sub
こんな方法も有るかも、いずれも一長一短。
なおこ(・∀・)さん、我龍院忠太さんありがとうございます。
我龍院忠太さんの方法はFooterFrameにHeader.aspxがアップされ、
うまくいきませんでした。
なおこ(・∀・)さんの
>Response.Write("<script language='javascript'>window.parent.frames[3].document.forms[0].submit();</script>")
の frames[]とforms[]の引数は何を表しているのでしょうか?
これも、うまくいきませんでした。
自分のやり方が悪いのだとは思いますがよろしければ御教授願えませんでしょうか。
お世話になります。
frames[]についてはこちら
http://www.artemis.ac/mozilla3/javascript/window/wwindow.htm
forms[]についてはこちら
http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/forms.html
を参考にしてみてください。
formsは、ひとつのHTMLのなかに
<FORM>タグが複数ない限り、0でよいはず。
解決致しました。
なおこ(・∀・)さん、我龍院忠太さんありがとうございました♪
ツイート | ![]() |