如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(1)

1 篇文章 0 订阅
在一些.NET论坛中有人经常会问:如何在页面中点击按钮打开新页面,输入数据,然后返回到初始页面并进行更新?要解决这个问题,应该弄清楚window.showModalDialog()的用法,本人在 http://blog.csdn.net/net_lover/archive/2002/09/24/6910.aspx已经做过介绍。下面就用例子介绍如何在ASP.NET中实现这个功能。

本例子共3个页面,其中WebForm2.aspx是过渡页面,是为了防止提交时打开新页面。

WebForm1.aspx

  1. <%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb"
  2.  Inherits="ShowModalDialog.WebForm1" %>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  4. <HTML>
  5.   <HEAD>
  6.   <title>WebForm1</title>
  7.   <meta content="Microsoft Visual Studio .NET 7.0" name="GENERATOR">
  8.   <meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
  9.   <meta content="JavaScript" name="vs_defaultClientScript">
  10.   <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
  11.   </HEAD>
  12.   <body MS_POSITIONING="GridLayout">
  13.    <div align="center">
  14.    <form id="Form1" method="post" runat="server">
  15.    <asp:label id="Label1" runat="server" Font-Bold="true">
  16.     从当前页面打开新窗口,并把变量传递到新窗口的例子,可以多次打开提交。
  17.     </asp:label><br>
  18.    <br>
  19.    <asp:textbox id="TextBox1" runat="server" Width="600px">这是初始值,将被传递到新窗口。</asp:textbox><br>
  20.    <br>
  21.    <asp:button id="Button1" runat="server" Text="打开窗口" Width="96px"></asp:button></form>
  22.   </div>
  23.   </body>
  24. </HTML>

WebForm1.aspx.vb

 

  1. Public Class WebForm1
  2.   Inherits System.Web.UI.Page
  3.   Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
  4.   Protected WithEvents Form1 As System.Web.UI.HtmlControls.HtmlForm
  5.   Protected WithEvents Label1 As System.Web.UI.WebControls.Label
  6.   Protected WithEvents Button1 As System.Web.UI.WebControls.Button
  7. #Region " Web 窗体设计器生成的代码 "
  8.   '该调用是 Web 窗体设计器所必需的。
  9.   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  10.   End Sub
  11.   Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
  12.     'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
  13.     '不要使用代码编辑器修改它。
  14.     InitializeComponent()
  15.   End Sub
  16. #End Region
  17.   Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  18.     '在此处放置初始化页的用户代码
  19.     If (Not IsClientScriptBlockRegistered("clientScript")) Then
  20.       Dim strScript As String = "<script>" + vbCrLf
  21.       strScript += "function OpenWin(){" + vbCrLf
  22.       strScript += "var str=window.showModalDialog('WebForm2.aspx',document.Form1.TextBox1.value)" + vbCrLf
  23.       strScript += "if(str!=null)  document.Form1.TextBox1.value=str" + vbCrLf
  24.       strScript += "}" + vbCrLf
  25.       strScript += "</script>" + vbCrLf
  26.       RegisterClientScriptBlock("clientScript", strScript)
  27.     End If
  28.     Button1.Attributes.Add("onclick""OpenWin()")
  29.   End Sub
  30. End Class

 

WebForm2.aspx

 

  1. <%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="aspxWeb.mengxianhui.com.WebForm2"%>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  3. <HTML>
  4.   <HEAD>
  5.     <title>WebForm2</title>
  6.     <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
  7.     <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
  8.     <meta name="vs_defaultClientScript" content="JavaScript">
  9.     <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  10.   </HEAD>
  11.   <frameset rows="0,*">
  12.     <frame src="about:blank">
  13.     <frame src="WebForm3.aspx">
  14.   </frameset>
  15. </HTML>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值