Results 1 to 1 of 1

Thread: Set and Get Modal Dialog Data

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2000
    Location
    Birmingham, AL
    Posts
    1,276

    Question Set and Get Modal Dialog Data

    This is an article on how to set/get data on a modal dialog popup:
    http://www.codeproject.com/aspnet/Modal_Dialog.asp

    I'm trying to change the controls from HTML to ASP.NET but the code I wrote doesn't work. The reason I used JavaScript like in the article is I don't know of a way to refer to a pages controls from another page in my code.

    Thanks.

    parent.aspx
    PHP Code:
    <%@ Page language="c#" Codebehind="parent.aspx.cs" AutoEventWireup="false" Inherits="Popup.parent" %>
    <!
    DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <
    HTML>
        <
    HEAD>
            <
    title>parent</title>
            <
    script language="javascript">
                function 
    OpenChild()
                {
                    var 
    text1 parent.parentText1.value;
                    var 
    text2 parent.parentText2.value;
                    var 
    args = new Array(text1text2);
                    var 
    settings "center:yes;resizable:no;dialogHeight:200px";
        
                    
    args window.showModalDialog("child.aspx"argssettings);
        
                    if (
    args == null)
                    {
                        
    window.alert("No data change.")
                    }
                    else
                    {
                        
    parent.parentText1.value args[0].toString();
                        
    parent.parentText2.value args[1].toString();
                    }
                }
            </
    script>
            <
    meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
            <
    meta name="CODE_LANGUAGE" Content="C#">
            <
    meta name="vs_defaultClientScript" content="JavaScript">
            <
    meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
        </
    HEAD>
        <
    body MS_POSITIONING="GridLayout">
            <
    form id="parent" method="post" runat="server">
                <
    asp:TextBox id="parentText1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 32px"
                    
    runat="server" Font-Size="Smaller" Font-Names="Arial" Height="20px" Width="159px"></asp:TextBox>
                <
    asp:TextBox id="parentText2" style="Z-INDEX: 102; LEFT: 32px; POSITION: absolute; TOP: 64px"
                    
    runat="server" Font-Size="Smaller" Font-Names="Arial" Height="20px" Width="159px"></asp:TextBox>
                <
    asp:Button id="parentButton1" style="Z-INDEX: 100; LEFT: 72px; POSITION: absolute; TOP: 104px"
                    
    runat="server" Font-Size="Smaller" Font-Names="Arial" Width="72px" Text="Enter Data"></asp:Button>
            </
    form>
        </
    body>
    </
    HTML
    parent.aspx.cs

    Code:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    
    namespace Popup
    {
    	/// <summary>
    	/// Summary description for parent.
    	/// </summary>
    	public class parent : System.Web.UI.Page
    	{
    		protected System.Web.UI.WebControls.TextBox parentText1;
    		protected System.Web.UI.WebControls.TextBox parentText2;
    		protected System.Web.UI.WebControls.Button parentButton1;
    	
    		private void Page_Load(object sender, System.EventArgs e)
    		{
    			// Put user code to initialize the page here
    
    			parentButton1.Attributes.Add("OnClick", "javascript:OpenChild()");
    		}
    
    		#region Web Form Designer generated code
    		override protected void OnInit(EventArgs e)
    		{
    			//
    			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
    			//
    			InitializeComponent();
    			base.OnInit(e);
    		}
    		
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		private void InitializeComponent()
    		{    
    			this.Load += new System.EventHandler(this.Page_Load);
    
    		}
    		#endregion
    
    
    	}
    }
    child.aspx

    PHP Code:
    <%@ Page language="c#" Codebehind="child.aspx.cs" AutoEventWireup="false" Inherits="Popup.child" %>
    <!
    DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <
    HTML>
        <
    HEAD>
            <
    title>child</title>
            <
    script language="javascript">
                function 
    GetData()
                {
                    var 
    text1 child.childText1.value;
                    var 
    text2 child.childText2.value;
                    var 
    args = new Array(text1text2);
                    
    window.returnValue args;
                    
    window.close();
                }

                function 
    Init()
                {
                    var 
    text1 "text1";
                    var 
    text2 "text2";
                    var 
    args = new Array(text1text2);
                    
    args =  window.dialogArguments;
                    
    child.childText1.value args[0].toString();
                    
    child.childText2.value args[1].toString();
                }
            </
    script>
            <
    meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
            <
    meta name="CODE_LANGUAGE" Content="C#">
            <
    meta name="vs_defaultClientScript" content="JavaScript">
            <
    meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
        </
    HEAD>
        <
    body onload="Init()" MS_POSITIONING="GridLayout">
            <
    form id="child" method="post" runat="server">
                <
    asp:TextBox id="childText1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 32px"
                    
    runat="server" Font-Size="Smaller" Font-Names="Arial" Height="20px" Width="159px" MaxLength="10"></asp:TextBox>
                <
    asp:TextBox id="childText2" style="Z-INDEX: 102; LEFT: 32px; POSITION: absolute; TOP: 64px"
                    
    runat="server" Font-Size="Smaller" Font-Names="Arial" Height="20px" Width="159px" MaxLength="10"></asp:TextBox>
                <
    asp:Button id="childButton1" style="Z-INDEX: 100; LEFT: 72px; POSITION: absolute; TOP: 104px"
                    
    runat="server" Font-Size="Smaller" Font-Names="Arial" Width="72px" Text="Set Data"></asp:Button>
            </
    form>
        </
    body>
    </
    HTML
    child.aspx.cs

    Code:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    
    namespace Popup
    {
    	/// <summary>
    	/// Summary description for child.
    	/// </summary>
    	public class child : System.Web.UI.Page
    	{
    		protected System.Web.UI.WebControls.TextBox childText1;
    		protected System.Web.UI.WebControls.TextBox childText2;
    		protected System.Web.UI.WebControls.Button childButton1;
    	
    		private void Page_Load(object sender, System.EventArgs e)
    		{
    			// Put user code to initialize the page here
    
    			childButton1.Attributes.Add("OnClick", "javascript:GetData()");
    		}
    
    		#region Web Form Designer generated code
    		override protected void OnInit(EventArgs e)
    		{
    			//
    			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
    			//
    			InitializeComponent();
    			base.OnInit(e);
    		}
    		
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		private void InitializeComponent()
    		{    
    			this.Load += new System.EventHandler(this.Page_Load);
    
    		}
    		#endregion
    
    	}
    }
    Last edited by wey97; Feb 26th, 2004 at 11:22 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width