`
ruilinruirui
  • 浏览: 1049919 次
文章分类
社区版块
存档分类
最新评论

asp.net中窗口相关操作总结(javascript)

 
阅读更多

下面这些实际平常都用过,不过没有整理汇总,刚好在网上看到,摘录。

javascript控制页面控件隐藏显示的两种方法
javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位
方法一:
document.all["PanelSMS"].style.visibility="hidden";
document.all["PanelSMS"].style.visibility="visible";
方法二:
document.all["PanelSMS"].style.display="none";
document.all["PanelSMS"].style.display="inline";
方法一隐藏后页面的位置还被控件占用只是不显示类似于.net验证控件的Display=Static
方法二隐藏后页面的位置不被占用类似于.net验证控件的Display=Dynamic

asp.net中窗口相关操作总结(javascript)

1.打开新窗口
这个简单:Response.Write(@"<script
language='javascript'>window.open('url');</script>");
2.关闭窗口
//关闭当前窗口,并提示用户时候关闭,yes关闭,no退出
Response.Write(@"
<scriptlanguage='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(@"
<scriptlanguage='javascript'>alert('添加成功,2秒钟后页面
将自动跳');
</script>");
5.刷新其他页面
这个用到的情况还是不少.比如在B页面对数据更新和修改,另一页面A要保持最新数据
给客户,这是就要在对B操作完毕的情况下对A进行刷新:
Response.Write(@"
<scriptlanguage='javascript'>window.opener.location.
href
='./default.aspx'
</script>");
6.页面跳转
有时候在学要给出提示的情况下进行页面跳转,不能使用Response.Redirect("url");
比如,当客户操作完毕,单击按钮提交,弹出提示框(使用上面3和4),如果使用了
Response.Redirect("url");
那么页面将不给出提示,页就是3和4没有起作用就直接转向了.
如果你是下面的操作过程:
1).Response.Write(@"
<scriptlanguage='javascript'>alert('添加成功,2秒钟后页
面将自动跳');
</script>");
2).Response.Write(@"
<script
language='javascript'>setTimeout('',2000);</script>");
3).页面转向:
Response.Write("
<metahttp-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.aspxanda.aspx.cs

<%@Pagelanguage="c#"Codebehind="a.aspx.cs"AutoEventWireup="false"
Inherits
="Genesis02.a"
%>
<HTML>
<HEAD>
<title>a</title>
<SCRIPTlanguage="javascript">
varstr;

functionpop(url)

{
varmyDialog=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>
<bodyMS_POSITIONING="GridLayout">
<formid="a"method="post"runat="server">
<asp:textboxid="TBoxType"
runat
="server"></asp:textbox><asp:buttonid="BtnGetType"Runat="server"
Text
="Open"></asp:button>
</form>
</body>
</HTML>
__________________________________________________________________

usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;

namespaceGenesis02
{
///
<summary>
///a的摘要说明。
///
</summary>
publicclassa:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.TextBoxTBoxType;
protectedSystem.Web.UI.WebControls.ButtonBtnGetType;

privatevoidPage_Load(objectsender,System.EventArgse)
{
if(!IsPostBack)

{
BtnGetType.Attributes["onclick"]="pop('c.aspx');return
false;";
}
}

#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///
<summary>
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///
</summary>
privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);

}
#endregion
}
}


#################################################################
b.aspxandb.aspx.cs

<%@Pagelanguage="c#"Codebehind="b.aspx.cs"AutoEventWireup="false"
Inherits
="Genesis02.b"
%>
<HTML>
<HEAD>
<title>b</title>
<SCRIPTlanguage="javascript">
functioncloseme()
{

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


functionBody_Load()
{
if(window.dialogArguments!=null){
window.document.getElementById(
"TBoxvalue").value=
window.dialogArguments;
}

}

</SCRIPT>
</HEAD>
<bodyMS_POSITIONING="GridLayout"onload="Body_Load()">
<formid="b"method="post"runat="server">
<asp:Buttonid="BtnClose"style="Z-INDEX:101;LEFT:152px;
POSITION:absolute;TOP:131px"
runat="server"Text="Closeme"></asp:Button>

<asp:TextBoxid="TBoxvalue"style="Z-INDEX:102;LEFT:149px;
POSITION:absolute;TOP:69px"
runat="server"></asp:TextBox>
</form>
</body>
</HTML>

__________________________________________________________________
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;

namespaceGenesis02
{
///
<summary>
///b的摘要说明。
///
</summary>
publicclassb:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.TextBoxTBoxvalue;
protectedSystem.Web.UI.WebControls.ButtonBtnClose;


privatevoidPage_Load(objectsender,System.EventArgse)
{
if(!IsPostBack)
{
BtnClose.Attributes["onclick"]="closeme();returnfalse;";
}
}

#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///
<summary>
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///
</summary>
privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);

}
#endregion
}
}

#######################################################################

c.aspxandc.asp.cs

<%@Pagelanguage="c#"Codebehind="c.aspx.cs"AutoEventWireup="false"
Inherits
="Genesis02.c"
%>
<HTML>

<HEAD>
<TITLE>c</TITLE>
</HEAD>
<framesetrows="0,*">
<framesrc="about:blank">
<framesrc="b.aspx">
</frameset>
</HTML>


____________________________________________________

usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;

namespaceGenesis02
{

///
<summary>
///c的摘要说明。
///
</summary>
publicclassc:System.Web.UI.Page
{
privatevoidPage_Load(objectsender,System.EventArgse)
{
//在此处放置用户代码以初始化页面
}

#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///
<summary>
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///
</summary>
privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);
}
#endregion
}
}

#############################################################################

c.aspxandc.asp.cs

<%@Pagelanguage="c#"Codebehind="c.aspx.cs"AutoEventWireup="false"
Inherits
="Genesis02.c"
%>
<HTML>
<HEAD>
<TITLE>c</TITLE>
</HEAD>
<framesetrows="0,*">
<framesrc="about:blank">
<framesrc="b.aspx">
</frameset>
</HTML>


____________________________________________________

usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;

namespaceGenesis02
{
///
<summary>
///c的摘要说明。
///
</summary>
publicclassc:System.Web.UI.Page
{
privatevoidPage_Load(objectsender,System.EventArgse)
{
//在此处放置用户代码以初始化页面
}

#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///
<summary>
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///
</summary>
privatevoidInitializeComponent()
{
this.Load+=newSystem.EventHandler(this.Page_Load);
}
#endregion
}
}

原文:http://ghd258.cnblogs.com/archive/2006/02/15/330853.html

分享到:
评论

相关推荐

    asp.net开发常用整理集合

     Asp.net手动绑定数据(分页、编辑、删除、加控件等操作)  Asp.net中My97DatePicker4.2日期的使用  Asp.net中DataList控件添加删除  Asp.net获取请求的用户信息IP地址  获取世界IP地址库显所在城市信息  ...

    asp.net常用的javascript弹出窗口代码

    javascript常用弹出窗口,对于初学asp.net的人有很大的帮助。

    ASP.NET基础控件-教程

     Asp.net手动绑定数据(分页、编辑、删除、加控件等操作)  Asp.net中My97DatePicker4.2日期的使用  Asp.net中DataList控件添加删除  Asp.net获取请求的用户信息IP地址  获取世界IP地址库显所在城市信息  MySQL...

    asp.net知识库

    ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算表达式类的原理及其实现 #实现的18位身份证...

    asp.net使用 js 转向Url,刷新父窗口,关闭当前窗口通用封装类

    asp.net使用 js 弹出JavaScript小窗口,弹出消息框并且转向到新的URL,回到历史页面,关闭当前窗口,刷新父窗口等

    ASP.NET 绝对居中弹出层

    1. 弹出绝对居中层 2. 企业级应用标准,支持SharePoint 3. 基于ASP.ENT, JavaScript, CSS开发

    asp.net学习积累的代码段

    asp.net中如何用c#实现弹出式的交互对话窗口.txt cookie登陆判断.txt CSharp基本书写规范.doc CustomValidator可以编程控制.txt html encode.txt html页面中数据绑定.txt html语法大全.txt listbox相互传值.txt MD5....

    asp.net专家疑难解答200问

    如何在ASP.NET中动态的创建柱状和饼状统计图 192.如何判断上传图片的高度和宽度 193.如何使用DESCryptoServiceProvider类对数据或者文件进行加密解密 194.如何统计在线人数 195.如何在ASP.NET实现...

    asp.net中javascript与后台c#交互

    由于是在asp.net中实现,故问题演化成asp.net中javascript与后台c#如何进行交互。 C#代码与javaScript函数的相互调用主要有四个方面: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量?

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    内容简介回到顶部↑本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合...

    ASP.NET4高级程序设计(第4版) 3/3

     《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...

    ASP.NET常用代码

    ASP.NET常用代码 1. 打开新的窗口并传送参数: 传送参数: response.write("&lt;script&gt;window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')&lt;/script&gt;") 接收参数: string a = Request....

    专业的ASP.NET控件,原生的AJAX支持,丰富的UI效果。

    专业的ASP.NET控件,原生的AJAX支持,丰富的UI效果。 产品特点: No JavaScript,No CSS, No UpdatePanel,No Web Services 备注: 本产品基于 ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor 开源程序。 ...

    ASP.NET&Javascript实现半透明背景&模式弹出个性化页面实例

    需要我们弹出一些自定义控件或页面,同时用一层半透明的背景将页面的其他地方遮住,以防止用户的其他操作,以达到一种“模式窗口”的效果,这里给出一个实现此类效果,同时支持弹出自定义控件页面中通过委托更新主...

    Asp.Net从零开始19(定时关闭窗口)

    没有Asp.net开发经验的朋友可以看看这篇文章,可以从零开始学习各种ASP.NET技能。本资料是本人整理的ASP.NET与C#的基础资料。如需了解请查阅VS.NET的相关书籍。省略的内容有ASP.NET基础语法、C#基础语法、HTML语法、...

    在ASP.NET使用JavaScript显示信息提示窗口实现原理及代码

    在ASP.NET使用JavaScript显示信息窗口,你可下从Insus.NET的博客,下载一个DLL,放在站点的BIN目录。下载地址创建一个aspx页面,然后在.aspx.cs的做几个动作,一是引用命名空间,实例化对象。 然后在Page_load事件写...

    收集的asp.net技巧

    收集的杂七杂八的asp.net技巧,包含ASP.NET常用代码,javaScript常用代码,无刷新页面,Web XML编程,NET中三层构架开发实例,仿MSN Messager的滚动提示窗口等等

    asp.net专家疑难解答200问源码

    190.如何在ASP.NET中动态的创建柱状和饼状统计图 192.如何判断上传图片的高度和宽度 193.如何使用DESCryptoServiceProvider类对数据或者文件进行加密解密 194.如何统计在线人数 195.如何在ASP.NET实现验证码 ...

Global site tag (gtag.js) - Google Analytics