1.打开新窗口 
  
这个简单:Response.Write(@"<script 
    
language='javascript'> window.open('url');</script>"); 
2.
关闭窗口 
  //
关闭当前窗口,并提示用户时候关闭,yes关闭,no退出 
  Response.Write(@"
<script language='javascript'> window.close();</script>"); 
  //
延迟关闭窗口(下面代码表示2秒后关闭,无需确认
  Response.Write(@"
<script 
    
language='javascript'> setTimeout('self.close()',2000);</script>"); 
3.
延迟时间 
  
这个和上面的没有多少区别.我用到的情况是,在用户操作完毕给出提示,"n秒后,页面 
    
转向"之类的只需去掉2重的Self.close()即可 
  Response.Write(@"
<script 
    
language='javascript'> setTimeout('',2000);</script>"); 
4.
弹出提示或警告窗口 
  Response.Write(@"
<script language='javascript'> alert('添加成功,2秒钟后页面 
    
将自动跳');</script>"); 
5.
刷新其他页面 
  
这个用到的情况还是不少.比如在B页面对数据更新和修改,另一页面A要保持最新数据 
  
给客户,这是就要在对B操作完毕的情况下对A进行刷新
  Response.Write(@"
<script language='javascript'> window.opener.location. 
    href='./
default.aspx'</script>") ; 
6.
页面跳转 
  
有时候在学要给出提示的情况下进行页面跳转,不能使用Response.Redirect("url"); 
  
比如,当客户操作完毕,单击按钮提交,弹出提示框(使用上面34),如果使用了 
    Response.Redirect("url"); 
  
那么页面将不给出提示,页就是34没有起作用就直接转向了
  
如果你是下面的操作过程
  1).Response.Write(@"
<script language='javascript'> alert('添加成功,2秒钟后页 
    
面将自动跳');</script>"); 
  2).Response.Write(@"
<script 
    
language='javascript'> setTimeout('',2000);</script>"); 
  3).
页面转向
    Response.Write("
<meta http-equiv='refresh' 
    
content='0;URL=./default.aspx'>"); 
    //
这个我不知道用javascript怎么实现,熟悉的轻补充一下 
7.
窗口传制问题 
  
这个问题比较烦,打开模态窗口(ShowModelDialog)我还没有实现,请各位补充
  
具体情况是这样的,比如说A打开一个新窗口B,当用户对B操作完毕后,我们获得必要的 
  
数据,自动将其赋给A中的TextBox等控件,这个过程是在客户端完成的.就像发送邮件时
  
需要从地址本中选取,然后将选中的发送地址传回来
  1).
A中加入如下代码,打开一个新窗口B. 
     Response.Write(window.">@"window.
        open('B.aspx','','toolbar=no,menubar=no,status=yes,location=no, 
        resizable=no,scrollbars=no,width=500,height=350');
</script>"); 
  2).
B操作完毕,获得必要数据tmpStr,然后将其赋值给A中的TextBox1 
     Response.Write(@"
<script 
        
language='javascript'> opener.document.all.TextBox1.value 
         ='" +tmpStr+"';
</script>"); 
  
注意:这个过程是在客户单用javascript完成的,因此我们不能按照服务端的编程习惯 
以及不能使用web服务控件的服务端属性进行操作.TextBox1是一个web服务控件
idTextBox1,A页面被服务器解析为html,通过浏览器浏览,TextBox1就变成了 
html控件,我们这里用javascript操作的也就是html控件,因此赋值使用的是 
TextBox1
value属性而不是Text属性.另外,web服务器控件的id被解析成html
id
有时会变,我们只要注意使用服务器解析后的id就成了,在浏览器中右键->查看源文件 
即可得到 
 
  
对第七种操作情况最好使用打开模态窗口windows.ShowModelDialog(),但是比较麻烦
哦还没有实现
 
 
接上
 
调整本窗口大小和位置 
Response.Write("
<script> window.resizeTo(500,400);</script>"); 
Response.Write("
<script> window.moveTo(300,200);</script>"); 
 
 
接上
 
:使用模态窗口传值 
 
主要代码如下
a.aspx and a.aspx.cs 
 
<%
@ Page language="c#" Codebehind="a.aspx.cs" AutoEventWireup="false" 
Inherits="Genesis02.a" 
%> 
<HTML> 
    
<HEAD> 
        
<title>a</title> 
        
<SCRIPT language="javascript">  
            
var str; 
 
            
function pop(url) 
 
            

                
var myDialog = document.a.TBoxType.value; 
 
                
if (window.showModalDialog) 
                

                    str=window.showModalDialog(url,myDialog,"dialogHeight: 
300px; dialogWidth: 500px;center: yes; help: no;resizable: yes; status: 
no;"); 
                    
if (typeof(str) != "undefined") 
                    

                        document.a.TBoxType.value = str; 
                    } 
                } 
            } 
        
</SCRIPT> 
    
</HEAD> 
    
<body MS_POSITIONING="GridLayout"> 
        
<form id="a" method="post" runat="server"> 
            
<asp:textbox id="TBoxType" 
runat
="server"></asp:textbox><asp:button id="BtnGetType" Runat="server" 
Text
="Open"></asp:button> 
        
</form> 
    
</body> 
</HTML> 
__________________________________________________________________ 
 
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 Genesis02 

    /// 
<summary> 
    /// a 
的摘要说明。 
    /// 
</summary> 
    public class a : System.Web.UI.Page 
    { 
        protected System.Web.UI.WebControls.TextBox TBoxType; 
        protected System.Web.UI.WebControls.Button BtnGetType; 
 
        private void Page_Load(object sender, System.EventArgs e) 
        { 
            if (!IsPostBack) 
 
            { 
                BtnGetType.Attributes["onclick"] = "pop('c.aspx');return 
false;"; 
            } 
        } 
 
        #region Web Form Designer generated code 
        override protected void OnInit(EventArgs e) 
        { 
            // 
            // CODEGEN
:该调用是 ASP.NET Web 窗体设计器所必需的。 
            // 
            InitializeComponent(); 
            base.OnInit(e); 
        } 
 
        /// 
<summary> 
        /// 
设计器支持所需的方法 - 不要使用代码编辑器修改 
        /// 
此方法的内容。 
        /// 
</summary> 
        private void InitializeComponent() 
        { 
            this.Load += new System.EventHandler(this.Page_Load); 
 
        } 
        #endregion 
    } 

 
 
################################################################# 
b.aspx and b.aspx.cs 
 
<%
@ Page language="c#" Codebehind="b.aspx.cs" AutoEventWireup="false" 
Inherits="Genesis02.b" 
%> 
<HTML> 
    
<HEAD> 
        
<title>b</title> 
        
<SCRIPT language="javascript">  
        
function closeme() 
        

 
            
//top.returnvalue = 
window.document.all.LBoxRFAContent.options[window.document.all.LBoxRFAContent 
.selectedindex].value; 
            top.returnvalue = document.getElementById("TBoxvalue").value; 
            top.close(); 
        } 
 
        
function Body_Load() 
        

            
if(window.dialogArguments != null
                window.document.getElementById("TBoxvalue").value = 
window.dialogArguments; 
            } 
        } 
        
</SCRIPT> 
    
</HEAD> 
    
<body MS_POSITIONING="GridLayout" onload="Body_Load()"> 
        
<form id="b" method="post" runat="server"> 
            
<asp:Button id="BtnClose" style="Z-INDEX: 101; LEFT: 152px; 
POSITION: absolute; TOP: 131px"
 runat="server" Text="Close me"></asp:Button> 
 
            
<asp:TextBox id="TBoxvalue" style="Z-INDEX: 102; LEFT: 149px; 
POSITION: absolute; TOP: 69px"
 runat="server"></asp:TextBox> 
        
</form> 
    
</body> 
</HTML> 
 
__________________________________________________________________ 
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 Genesis02 

    /// 
<summary> 
    /// b 
的摘要说明。 
    /// 
</summary> 
    public class b : System.Web.UI.Page 
    { 
        protected System.Web.UI.WebControls.TextBox TBoxvalue; 
        protected System.Web.UI.WebControls.Button BtnClose; 
 
 
        private void Page_Load(object sender, System.EventArgs e) 
        { 
            if (!IsPostBack) 
            { 
                BtnClose.Attributes["onclick"] = "closeme();return false;"; 
            } 
        } 
 
        #region Web Form Designer generated code 
        override protected void OnInit(EventArgs e) 
        { 
            // 
            // CODEGEN
:该调用是 ASP.NET Web 窗体设计器所必需的。 
            // 
            InitializeComponent(); 
            base.OnInit(e); 
        } 
 
        /// 
<summary> 
        /// 
设计器支持所需的方法 - 不要使用代码编辑器修改 
        /// 
此方法的内容。 
        /// 
</summary> 
        private void InitializeComponent() 
        { 
            this.Load += new System.EventHandler(this.Page_Load); 
 
        } 
        #endregion 
    } 

 
####################################################################### 
 
c.aspx and c.asp.cs 
 
<%
@ Page language="c#" Codebehind="c.aspx.cs" AutoEventWireup="false" 
Inherits="Genesis02.c" 
%> 
<HTML> 
 
    
<HEAD> 
        
<TITLE>c</TITLE> 
    
</HEAD> 
    
<frameset rows="0,*"> 
        
<frame src="about:blank"> 
        
<frame src="b.aspx"> 
    
</frameset> 
</HTML> 
 
 
____________________________________________________ 
 
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 Genesis02 

 
    /// 
<summary> 
    /// c 
的摘要说明。 
    /// 
</summary> 
    public class c : System.Web.UI.Page 
    { 
        private void Page_Load(object sender, System.EventArgs e) 
        { 
            // 
在此处放置用户代码以初始化页面 
        } 
 
        #region Web Form Designer generated code 
        override protected void OnInit(EventArgs e) 
        { 
            // 
            // CODEGEN
:该调用是 ASP.NET Web 窗体设计器所必需的。 
            // 
            InitializeComponent(); 
            base.OnInit(e); 
        } 
 
        /// 
<summary> 
        /// 
设计器支持所需的方法 - 不要使用代码编辑器修改 
        /// 
此方法的内容。 
        /// 
</summary> 
        private void InitializeComponent() 
        { 
            this.Load += new System.EventHandler(this.Page_Load); 
        } 
        #endregion 
    } 

 
############################################################################# 
 
c.aspx and c.asp.cs 
 
<%
@ Page language="c#" Codebehind="c.aspx.cs" AutoEventWireup="false" 
Inherits="Genesis02.c" 
%> 
<HTML> 
    
<HEAD> 
        
<TITLE>c</TITLE> 
    
</HEAD> 
    
<frameset rows="0,*"> 
        
<frame src="about:blank"> 
        
<frame src="b.aspx"> 
    
</frameset> 
</HTML> 
 
 
____________________________________________________ 
 
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 Genesis02 

    /// 
<summary> 
    /// c 
的摘要说明。 
    /// 
</summary> 
    public class c : System.Web.UI.Page 
    { 
        private void Page_Load(object sender, System.EventArgs e) 
        { 
            // 
在此处放置用户代码以初始化页面 
        } 
 
        #region Web Form Designer generated code 
        override protected void OnInit(EventArgs e) 
        { 
            // 
            // CODEGEN
:该调用是 ASP.NET Web 窗体设计器所必需的。 
            // 
            InitializeComponent(); 
            base.OnInit(e); 
        } 
 
        /// 
<summary> 
        /// 
设计器支持所需的方法 - 不要使用代码编辑器修改 
        /// 
此方法的内容。 
        /// 
</summary> 
        private void InitializeComponent() 
        { 
            this.Load += new System.EventHandler(this.Page_Load); 
        } 
        #endregion 
    } 

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=646639

 

posted on 2006-11-16 15:34  Dragon-China  阅读(412)  评论(0编辑  收藏  举报