zoukankan
html css js c++ java
asp.net中窗口相关操作总结(javascript)
这些代码全部写在和页面分离的代码页中(codebehind),如果要嵌入到*.aspx页面,可能
会出现问题.
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");
比如,当客户操作完毕,单击按钮提交,弹出提示框(使用上面3和4),如果使用了
Response.Redirect("url");
那么页面将不给出提示,页就是3和4没有起作用就直接转向了.
如果你是下面的操作过程:
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服务控件,
其id为TextBox1,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
}
}
查看全文
相关阅读:
将Apache2.4手动安装成Windows的服务
[译文]PHP千年虫(y2k compliance)
Apache2.4 authz_core_module模块使用
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.错误
[转载]开启debug调试模式
thinkphp 去掉URL 里面的index.php
在WINDOWS下安装PEAR
php5.5.15注释问题PHP Deprecated: Comments starting with '#' are deprecated in *.ini 警告解决办法
Maven 与 IntelliJ IDEA 的完美结合
JavaRebel 2.0 发布,一个JVM插件
原文地址:https://www.cnblogs.com/ghd258/p/330853.html
最新文章
ie6下按钮下边框消失不显示的问题
input,button制作按钮IE6,IE7点击时1px黑边框的解决方法
PHP @ at 记号的作用
MYSQL忘记超级用户密码修改
解决Zend加密的PHP页面出现Incompatible file format的问题
less通用pc移动库
javascript编码风格
display:inline、block、inline-block的区别
jQuery获取Select选择的Text和Value[转载]
解决Wamp各版本中 Apache 文件列表图标无法显示
热门文章
PhpStorm 默认快捷键
[转载]互联网 免费的WebService接口
修改Windows下的Memcached下的服务端口
安装php的memcache扩展
[转载]Memcached缓存服务的简单安装
Linux常用命令之文件和目录操作命令
Apache服务器开启gzip压缩的支持
官方发布PHP语法规范
[转载]编写优秀代码的10个技巧
DedeCms中出现Safe Alert: Request Error step 1/2 的解决方法
Copyright © 2011-2022 走看看