ASP.Netのお勉強

ポップアップで画面を開く@ASP.Net

画面をポップアップにて開きます。

画面をポップアップするボタンを設けます。
ボタンを実行したら、Sessionに値を格納して、
画面をポップアップにて開きます。

ポップアップ画面では、ラベルにSessionの値を表示します。
また、選択ボタンを設けます。
ボタンを押したら、Sessionに値を格納し、
親画面をSubmitします。

親画面では、ポストバックが起こるので、
ページロード時に、Sessionの値を取得し、
テキストボックスに表示します。

●ポップアップを開く画面aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ポップアップで画面を開く</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="ポップアップ" />
    </form>
</body>
</html>


●ポップアップを開く画面aspx.vb

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If IsPostBack Then
            Me.TextBox1.Text = CStr(Session("ITEM"))
        End If
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Session("KEY") = "AAA"

        Dim scriptStr As String
        scriptStr = "<script type='text/javascript'>"
        scriptStr += "window.open('Default2.aspx','_blank','width=300,height=300');"
        scriptStr += "</script>"

        ClientScript.RegisterStartupScript(Me.GetType(), "Default2画面", scriptStr)
    End Sub
End Class



●ポップアップ画面aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ポップアップ画面</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
        <asp:Button ID="Button1" runat="server" Text="選択" />
    </form>
</body>
</html>


●ポップアップ画面aspx.vb

Partial Class Default2
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.Label1.Text = CStr(Session("KEY"))
End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Session("ITEM") = "BBB"

        Dim scriptStr As String
        scriptStr = "<script type='text/javascript'>"
        scriptStr += "window.opener.form1.submit();"
        scriptStr += "window.close();"
        scriptStr += "</script>"

        ClientScript.RegisterStartupScript(Me.GetType(), "Default2画面", scriptStr)

    End Sub
End Class

Copyright (C) ASP.Netのお勉強. All Rights Reserved.