博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net中窗口相关操作总结(javascript)
阅读量:6000 次
发布时间:2019-06-20

本文共 8736 字,大约阅读时间需要 29 分钟。

None.gif
这些代码全部写在和页面分离的代码页中(codebehind),如果要嵌入到*.aspx页面,可能 
None.gif会出现问题. 
None.gif 
None.gif1.打开新窗口 
None.gif  这个简单:Response.Write(@"
<
script 
ExpandedBlockStart.gif    
language
='javascript'
>
window.open('url');
</
script
>
"); 
None.gif2.关闭窗口 
None.gif  //关闭当前窗口,并提示用户时候关闭,yes关闭,no退出 
ExpandedBlockStart.gif  Response.Write(@"
<
script 
language
='javascript'
>
window.close();
</
script
>
"); 
None.gif  //延迟关闭窗口(下面代码表示2秒后关闭,无需确认) 
None.gif  Response.Write(@"
<
script 
ExpandedBlockStart.gif    
language
='javascript'
>
setTimeout('self.close()',2000);
</
script
>
"); 
None.gif3.延迟时间 
None.gif  这个和上面的没有多少区别.我用到的情况是,在用户操作完毕给出提示,"n秒后,页面 
None.gif    转向"之类的只需去掉2重的Self.close()即可 
None.gif  Response.Write(@"
<
script 
ExpandedBlockStart.gif    
language
='javascript'
>
setTimeout('',2000);
</
script
>
"); 
None.gif4.弹出提示或警告窗口 
ExpandedBlockStart.gif  Response.Write(@"
<
script 
language
='javascript'
>
alert('添加成功,2秒钟后页面 
ExpandedBlockEnd.gif    将自动跳');
</
script
>
"); 
None.gif5.刷新其他页面 
None.gif  这个用到的情况还是不少.比如在B页面对数据更新和修改,另一页面A要保持最新数据 
None.gif  给客户,这是就要在对B操作完毕的情况下对A进行刷新: 
ExpandedBlockStart.gif  Response.Write(@"
<
script 
language
='javascript'
>
window.opener.location. 
ExpandedBlockEnd.gif    href
='./default.aspx'
</
script
>
") ; 
None.gif6.页面跳转 
None.gif  有时候在学要给出提示的情况下进行页面跳转,不能使用Response.Redirect("url"); 
None.gif  比如,当客户操作完毕,单击按钮提交,弹出提示框(使用上面3和4),如果使用了 
None.gif    Response.Redirect("url"); 
None.gif  那么页面将不给出提示,页就是3和4没有起作用就直接转向了. 
None.gif  如果你是下面的操作过程: 
ExpandedBlockStart.gif  1).Response.Write(@"
<
script 
language
='javascript'
>
alert('添加成功,2秒钟后页 
ExpandedBlockEnd.gif    面将自动跳');
</
script
>
"); 
None.gif  2).Response.Write(@"
<
script 
ExpandedBlockStart.gif    
language
='javascript'
>
setTimeout('',2000);
</
script
>
"); 
None.gif  3).页面转向: 
None.gif    Response.Write("
<
meta 
http-equiv
='refresh' 
None.gif    
content
='0;URL=./default.aspx'
>
"); 
None.gif    //这个我不知道用javascript怎么实现,熟悉的轻补充一下 
None.gif7.窗口传制问题 
None.gif  这个问题比较烦,打开模态窗口(ShowModelDialog)我还没有实现,请各位补充. 
None.gif  具体情况是这样的,比如说A打开一个新窗口B,当用户对B操作完毕后,我们获得必要的 
None.gif  数据,自动将其赋给A中的TextBox等控件,这个过程是在客户端完成的.就像发送邮件时, 
None.gif  需要从地址本中选取,然后将选中的发送地址传回来. 
None.gif  1).在A中加入如下代码,打开一个新窗口B. 
None.gif     Response.Write(window.">@"window.
None.gif        open('B.aspx','','toolbar=no,menubar=no,status=yes,location=no, 
None.gif        resizable=no,scrollbars=no,width=500,height=350');
</
script
>
"); 
None.gif  2).对B操作完毕,获得必要数据tmpStr,然后将其赋值给A中的TextBox1 
None.gif     Response.Write(@"
<
script 
ExpandedBlockStart.gif        
language
='javascript'
>
opener.document.all.TextBox1.value 
ExpandedBlockEnd.gif         
='" +tmpStr+"';
</
script
>
"); 
None.gif  注意:这个过程是在客户单用javascript完成的,因此我们不能按照服务端的编程习惯 
None.gif以及不能使用web服务控件的服务端属性进行操作.TextBox1是一个web服务控件, 
None.gif其id为TextBox1,A页面被服务器解析为html,通过浏览器浏览,TextBox1就变成了 
None.gif纯html控件,我们这里用javascript操作的也就是html控件,因此赋值使用的是 
None.gifTextBox1的value属性而不是Text属性.另外,web服务器控件的id被解析成html后, 
None.gifid有时会变,我们只要注意使用服务器解析后的id就成了,在浏览器中右键->查看源文件 
None.gif即可得到 
None.gif 
None.gif  对第七种操作情况最好使用打开模态窗口windows.ShowModelDialog(),但是比较麻烦, 
None.gif哦还没有实现. 
None.gif 
None.gif 
None.gif接上: 
None.gif 
None.gif调整本窗口大小和位置 
ExpandedBlockStart.gifResponse.Write("
<
script
>
window.resizeTo(500,400);
</
script
>
"); 
ExpandedBlockStart.gifResponse.Write("
<
script
>
window.moveTo(300,200);
</
script
>
"); 
None.gif 
None.gif 
None.gif接上: 
None.gif 
None.gif补:使用模态窗口传值 
None.gif 
None.gif主要代码如下: 
None.gifa.aspx and a.aspx.cs 
None.gif 
ExpandedBlockStart.gif
<%
@ Page language="c#" Codebehind="a.aspx.cs" AutoEventWireup="false" 
ExpandedBlockEnd.gifInherits
="Genesis02.a" 
%>
 
None.gif
<
HTML
>
 
None.gif    
<
HEAD
>
 
None.gif        
<
title
>
a
</
title
>
 
ExpandedBlockStart.gif        
<
SCRIPT 
language
="javascript"
>
 
InBlock.gif            
var str; 
InBlock.gif 
InBlock.gif            
function pop(url) 
InBlock.gif 
ExpandedSubBlockStart.gif            
InBlock.gif                
var myDialog = document.a.TBoxType.value; 
InBlock.gif 
InBlock.gif                
if (window.showModalDialog) 
ExpandedSubBlockStart.gif                
InBlock.gif                    str
=window.showModalDialog(url,myDialog,"dialogHeight: 
InBlock.gif300px; dialogWidth: 500px;center: yes; help: no;resizable: yes; status: 
InBlock.gifno;
"); 
InBlock.gif                    
if (typeof(str) != "undefined"
ExpandedSubBlockStart.gif                    
InBlock.gif                        document.a.TBoxType.value 
= str; 
ExpandedSubBlockEnd.gif                    }
 
ExpandedSubBlockEnd.gif                }
 
ExpandedSubBlockEnd.gif            }
 
ExpandedBlockEnd.gif        
</
SCRIPT
>
 
None.gif    
</
HEAD
>
 
None.gif    
<
body 
MS_POSITIONING
="GridLayout"
>
 
None.gif        
<
form 
id
="a"
 method
="post"
 runat
="server"
>
 
None.gif            
<
asp:textbox 
id
="TBoxType"
 
None.gifrunat
="server"
></
asp:textbox
><
asp:button 
id
="BtnGetType"
 Runat
="server"
 
None.gifText
="Open"
></
asp:button
>
 
None.gif        
</
form
>
 
None.gif    
</
body
>
 
None.gif
</
HTML
>
 
None.gif__________________________________________________________________ 
None.gif 
None.gifusing System; 
None.gifusing System.Collections; 
None.gifusing System.ComponentModel; 
None.gifusing System.Data; 
None.gifusing System.Drawing; 
None.gifusing System.Web; 
None.gifusing System.Web.SessionState; 
None.gifusing System.Web.UI; 
None.gifusing System.Web.UI.WebControls; 
None.gifusing System.Web.UI.HtmlControls; 
None.gif 
None.gifnamespace Genesis02 
None.gif
None.gif    /// 
<
summary
>
 
None.gif    /// a 的摘要说明。 
None.gif    /// 
</
summary
>
 
None.gif    public class a : System.Web.UI.Page 
None.gif    { 
None.gif        protected System.Web.UI.WebControls.TextBox TBoxType; 
None.gif        protected System.Web.UI.WebControls.Button BtnGetType; 
None.gif 
None.gif        private void Page_Load(object sender, System.EventArgs e) 
None.gif        { 
None.gif            if (!IsPostBack) 
None.gif 
None.gif            { 
None.gif                BtnGetType.Attributes["onclick"] = "pop('c.aspx');return 
None.giffalse;"; 
None.gif            } 
None.gif        } 
None.gif 
None.gif        #region Web Form Designer generated code 
None.gif        override protected void OnInit(EventArgs e) 
None.gif        { 
None.gif            // 
None.gif            // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 
None.gif            // 
None.gif            InitializeComponent(); 
None.gif            base.OnInit(e); 
None.gif        } 
None.gif 
None.gif        /// 
<
summary
>
 
None.gif        /// 设计器支持所需的方法 - 不要使用代码编辑器修改 
None.gif        /// 此方法的内容。 
None.gif        /// 
</
summary
>
 
None.gif        private void InitializeComponent() 
None.gif        { 
None.gif            this.Load += new System.EventHandler(this.Page_Load); 
None.gif 
None.gif        } 
None.gif        #endregion 
None.gif    } 
None.gif
None.gif 
None.gif 
None.gif################################################################# 
None.gifb.aspx and b.aspx.cs 
None.gif 
ExpandedBlockStart.gif
<%
@ Page language="c#" Codebehind="b.aspx.cs" AutoEventWireup="false" 
ExpandedBlockEnd.gifInherits
="Genesis02.b" 
%>
 
None.gif
<
HTML
>
 
None.gif    
<
HEAD
>
 
None.gif        
<
title
>
b
</
title
>
 
ExpandedBlockStart.gif        
<
SCRIPT 
language
="javascript"
>
 
InBlock.gif        
function closeme() 
ExpandedSubBlockStart.gif        
InBlock.gif 
InBlock.gif            
//top.returnvalue = 
InBlock.gif
window.document.all.LBoxRFAContent.options[window.document.all.LBoxRFAContent 
InBlock.gif.selectedindex].value; 
InBlock.gif            top.returnvalue 
= document.getElementById("TBoxvalue").value; 
InBlock.gif            top.close(); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif 
InBlock.gif        
function Body_Load() 
ExpandedSubBlockStart.gif        
ExpandedSubBlockStart.gif            
if(window.dialogArguments != null
InBlock.gif                window.document.getElementById(
"TBoxvalue").value = 
InBlock.gifwindow.dialogArguments; 
ExpandedSubBlockEnd.gif            }
 
ExpandedSubBlockEnd.gif        }
 
ExpandedBlockEnd.gif        
</
SCRIPT
>
 
None.gif    
</
HEAD
>
 
None.gif    
<
body 
MS_POSITIONING
="GridLayout"
 onload
="Body_Load()"
>
 
None.gif        
<
form 
id
="b"
 method
="post"
 runat
="server"
>
 
None.gif            
<
asp:Button 
id
="BtnClose"
 style
="Z-INDEX: 101; LEFT: 152px; 
None.gifPOSITION: absolute; TOP: 131px"
 runat
="server"
 Text
="Close me"
></
asp:Button
>
 
None.gif 
None.gif            
<
asp:TextBox 
id
="TBoxvalue"
 style
="Z-INDEX: 102; LEFT: 149px; 
None.gifPOSITION: absolute; TOP: 69px"
 runat
="server"
></
asp:TextBox
>
 
None.gif        
</
form
>
 
None.gif    
</
body
>
 
None.gif
</
HTML
>
 
None.gif 
None.gif__________________________________________________________________ 
None.gifusing System; 
None.gifusing System.Collections; 
None.gifusing System.ComponentModel; 
None.gifusing System.Data; 
None.gifusing System.Drawing; 
None.gifusing System.Web; 
None.gifusing System.Web.SessionState; 
None.gifusing System.Web.UI; 
None.gifusing System.Web.UI.WebControls; 
None.gifusing System.Web.UI.HtmlControls; 
None.gif 
None.gifnamespace Genesis02 
None.gif
None.gif    /// 
<
summary
>
 
None.gif    /// b 的摘要说明。 
None.gif    /// 
</
summary
>
 
None.gif    public class b : System.Web.UI.Page 
None.gif    { 
None.gif        protected System.Web.UI.WebControls.TextBox TBoxvalue; 
None.gif        protected System.Web.UI.WebControls.Button BtnClose; 
None.gif 
None.gif 
None.gif        private void Page_Load(object sender, System.EventArgs e) 
None.gif        { 
None.gif            if (!IsPostBack) 
None.gif            { 
None.gif                BtnClose.Attributes["onclick"] = "closeme();return false;"; 
None.gif            } 
None.gif        } 
None.gif 
None.gif        #region Web Form Designer generated code 
None.gif        override protected void OnInit(EventArgs e) 
None.gif        { 
None.gif            // 
None.gif            // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 
None.gif            // 
None.gif            InitializeComponent(); 
None.gif            base.OnInit(e); 
None.gif        } 
None.gif 
None.gif        /// 
<
summary
>
 
None.gif        /// 设计器支持所需的方法 - 不要使用代码编辑器修改 
None.gif        /// 此方法的内容。 
None.gif        /// 
</
summary
>
 
None.gif        private void InitializeComponent() 
None.gif        { 
None.gif            this.Load += new System.EventHandler(this.Page_Load); 
None.gif 
None.gif        } 
None.gif        #endregion 
None.gif    } 
None.gif
None.gif 
None.gif####################################################################### 
None.gif 
None.gifc.aspx and c.asp.cs 
None.gif 
ExpandedBlockStart.gif
<%
@ Page language="c#" Codebehind="c.aspx.cs" AutoEventWireup="false" 
ExpandedBlockEnd.gifInherits
="Genesis02.c" 
%>
 
None.gif
<
HTML
>
 
None.gif 
None.gif    
<
HEAD
>
 
None.gif        
<
TITLE
>
c
</
TITLE
>
 
None.gif    
</
HEAD
>
 
None.gif    
<
frameset 
rows
="0,*"
>
 
None.gif        
<
frame 
src
="about:blank"
>
 
None.gif        
<
frame 
src
="b.aspx"
>
 
None.gif    
</
frameset
>
 
None.gif
</
HTML
>
 
None.gif 
None.gif 
None.gif____________________________________________________ 
None.gif 
None.gifusing System; 
None.gifusing System.Collections; 
None.gifusing System.ComponentModel; 
None.gifusing System.Data; 
None.gifusing System.Drawing; 
None.gifusing System.Web; 
None.gifusing System.Web.SessionState; 
None.gifusing System.Web.UI; 
None.gifusing System.Web.UI.WebControls; 
None.gifusing System.Web.UI.HtmlControls; 
None.gif 
None.gifnamespace Genesis02 
None.gif
None.gif 
None.gif    /// 
<
summary
>
 
None.gif    /// c 的摘要说明。 
None.gif    /// 
</
summary
>
 
None.gif    public class c : System.Web.UI.Page 
None.gif    { 
None.gif        private void Page_Load(object sender, System.EventArgs e) 
None.gif        { 
None.gif            // 在此处放置用户代码以初始化页面 
None.gif        } 
None.gif 
None.gif        #region Web Form Designer generated code 
None.gif        override protected void OnInit(EventArgs e) 
None.gif        { 
None.gif            // 
None.gif            // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 
None.gif            // 
None.gif            InitializeComponent(); 
None.gif            base.OnInit(e); 
None.gif        } 
None.gif 
None.gif        /// 
<
summary
>
 
None.gif        /// 设计器支持所需的方法 - 不要使用代码编辑器修改 
None.gif        /// 此方法的内容。 
None.gif        /// 
</
summary
>
 
None.gif        private void InitializeComponent() 
None.gif        { 
None.gif            this.Load += new System.EventHandler(this.Page_Load); 
None.gif        } 
None.gif        #endregion 
None.gif    } 
None.gif
None.gif 
None.gif############################################################################# 
None.gif 
None.gifc.aspx and c.asp.cs 
None.gif 
ExpandedBlockStart.gif
<%
@ Page language="c#" Codebehind="c.aspx.cs" AutoEventWireup="false" 
ExpandedBlockEnd.gifInherits
="Genesis02.c" 
%>
 
None.gif
<
HTML
>
 
None.gif    
<
HEAD
>
 
None.gif        
<
TITLE
>
c
</
TITLE
>
 
None.gif    
</
HEAD
>
 
None.gif    
<
frameset 
rows
="0,*"
>
 
None.gif        
<
frame 
src
="about:blank"
>
 
None.gif        
<
frame 
src
="b.aspx"
>
 
None.gif    
</
frameset
>
 
None.gif
</
HTML
>
 
None.gif 
None.gif 
None.gif____________________________________________________ 
None.gif 
None.gifusing System; 
None.gifusing System.Collections; 
None.gifusing System.ComponentModel; 
None.gifusing System.Data; 
None.gifusing System.Drawing; 
None.gifusing System.Web; 
None.gifusing System.Web.SessionState; 
None.gifusing System.Web.UI; 
None.gifusing System.Web.UI.WebControls; 
None.gifusing System.Web.UI.HtmlControls; 
None.gif 
None.gifnamespace Genesis02 
None.gif
None.gif    /// 
<
summary
>
 
None.gif    /// c 的摘要说明。 
None.gif    /// 
</
summary
>
 
None.gif    public class c : System.Web.UI.Page 
None.gif    { 
None.gif        private void Page_Load(object sender, System.EventArgs e) 
None.gif        { 
None.gif            // 在此处放置用户代码以初始化页面 
None.gif        } 
None.gif 
None.gif        #region Web Form Designer generated code 
None.gif        override protected void OnInit(EventArgs e) 
None.gif        { 
None.gif            // 
None.gif            // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 
None.gif            // 
None.gif            InitializeComponent(); 
None.gif            base.OnInit(e); 
None.gif        } 
None.gif 
None.gif        /// 
<
summary
>
 
None.gif        /// 设计器支持所需的方法 - 不要使用代码编辑器修改 
None.gif        /// 此方法的内容。 
None.gif        /// 
</
summary
>
 
None.gif        private void InitializeComponent() 
None.gif        { 
None.gif            this.Load += new System.EventHandler(this.Page_Load); 
None.gif        } 
None.gif        #endregion 
None.gif    } 
None.gif
None.gif 
本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2006/02/15/330853.html,如需转载请自行联系原作者
你可能感兴趣的文章
HTTP Analyzer——WEB调试代理
查看>>
shell date 命令整理
查看>>
史上最全Java表单验证封装类
查看>>
nuget命令的用法:
查看>>
矩阵构造方法(转载)
查看>>
UIView下使用Animation控制动画
查看>>
Lowest Common Ancestor of Two Nodes in a Binary Tree
查看>>
(笔记)Linux 如何查看线程数最佳解决方案
查看>>
careercup-排序和查找 11.5
查看>>
Tomcat 生产服务器性能优化
查看>>
【开源一个小工具】一键将网页内容推送到Kindle
查看>>
Android -- Gradle
查看>>
Java的递归算法
查看>>
iis7负载均衡
查看>>
Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter
查看>>
程序员必须知道的几个Git代码托管平台
查看>>
MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
查看>>
Android TextView结合SpannableString使用
查看>>
指针数组/数组指针
查看>>
hdu1075What Are You Talking About (字典树)
查看>>