none
弹出页面传值的问题:(在网上找个段代码,但不全,谁有空帮补补 RRS feed

  • 问题

  • Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用的方式。只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩。

      测试项目有两个页面:Default.aspx及Default2.aspx,在Default.aspx页面上有一个TextBox1及一个Button1,Button1用于触发Default2.aspx,TextBox1用于接收从子页面�

    2009年4月2日 6:45

答案

  • 例子

    http://dotnet.aspx.cc/article/00000000-0000-0000-0000-00000000000f/read.aspx
    孟宪会
    2009年4月2日 6:52
    版主
  • 如果你对Javascript不熟悉,建议你使用AjaxToolKits中的一个控件 ModalPopupExtender,这个控件可以实现你的所有需求,什么都做好了,直接使用就可以了,具体用法如下: http://www.falaosao.net/article.asp?id=118
    Bruce
    2009年4月2日 6:52
  • Defualt.aspx中的控件声明:
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" 
    	onclientclick="OnBtnClick()" />
    Default.aspx中的客户端脚本:
    <script type="text/javascript">
    	function OnBtnClick()
    	{
    		var result;
    		result = window.showModalDialog("default2.aspx");
    		if (result == null || result == "")
    		{
    			event.returnValue = false;
    			return;
    		}
    		document.getElementById("TextBox1").value = result;
    	}
    </script>
    default2.aspx中的控件声明:
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <input id="Button1" type="button" value="button" onclick="OnBtnOK()" />
    default2.aspx中的客户端脚本:
    <script type="text/javascript">
    	function OnBtnOK()
    	{
    		window.returnValue = document.getElementById("TextBox1").value;
    		window.close();
    	}
    </script>
    以上代码通过将defualt2.aspx显示为模态窗口,可以满足你的要求



    理解的越多,需要记忆的就越少
    2009年4月2日 6:56

全部回复

  • Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用的方式。只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩。

      测试项目有两个页面:Default.aspx及Default2.aspx,在Default.aspx页面上有一个TextBox1及一个Button1,Button1用于触发Default2.aspx,TextBox1用于接收从子页面�

    • 已合并 RickyLin 2009年4月2日 6:47 同一个问题
    2009年4月2日 6:44
  • Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用的方式。只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩。

      测试项目有两个页面:Default.aspx及Default2.aspx,在Default.aspx页面上有一个TextBox1及一个Button1,Button1用于触发Default2.aspx,TextBox1用于接收从子页面�

    • 已合并 RickyLin 2009年4月2日 6:48 同一个问题
    2009年4月2日 6:44
  • 例子

    http://dotnet.aspx.cc/article/00000000-0000-0000-0000-00000000000f/read.aspx
    孟宪会
    2009年4月2日 6:52
    版主
  • 如果你对Javascript不熟悉,建议你使用AjaxToolKits中的一个控件 ModalPopupExtender,这个控件可以实现你的所有需求,什么都做好了,直接使用就可以了,具体用法如下: http://www.falaosao.net/article.asp?id=118
    Bruce
    2009年4月2日 6:52
  • Defualt.aspx中的控件声明:
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" 
    	onclientclick="OnBtnClick()" />
    Default.aspx中的客户端脚本:
    <script type="text/javascript">
    	function OnBtnClick()
    	{
    		var result;
    		result = window.showModalDialog("default2.aspx");
    		if (result == null || result == "")
    		{
    			event.returnValue = false;
    			return;
    		}
    		document.getElementById("TextBox1").value = result;
    	}
    </script>
    default2.aspx中的控件声明:
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <input id="Button1" type="button" value="button" onclick="OnBtnOK()" />
    default2.aspx中的客户端脚本:
    <script type="text/javascript">
    	function OnBtnOK()
    	{
    		window.returnValue = document.getElementById("TextBox1").value;
    		window.close();
    	}
    </script>
    以上代码通过将defualt2.aspx显示为模态窗口,可以满足你的要求



    理解的越多,需要记忆的就越少
    2009年4月2日 6:56
  • 使用模态窗口请注意模态窗口只适合IE,并不适合Firefox。
    Microsoft Online Community Support
    2009年4月7日 3:25