ASP.NET 2.0中客户端脚本的使用方法
2008-03-04 17:04
465 查看
.NET 毫无疑问是服务器端的霸主,java脚本无疑是客户端的大头。.Net对客户端的不太好的支持以及它的Postback特征使得它有些缺陷,在进行一些客户端操作时比较麻烦。
最近接触过这块东西,查了些资料,把它们汇总了下。
如下我把ASP.NET 2.0中客户端脚本的使用方法进行一下总结,限于水平,不足之处请各位不吝赐教。
1.使用OnClientClick属性打开客户端脚本,使用方法如下:
js脚本:
以下是引用片段:
<script language="javascript" type="text/javascript">
function opensite()
...{ window.open("http://www.cnblogs.com");
return true; }
</script>
调用方法:
以下是引用片段:
<asp:Button ID="Button1" OnClientClick="opensite()" runat="server" Text="打开站点" />
2.动态注册js脚本,下面介绍一下以下四个方法的含义与使用:
以下几种方法都是派生自ClientScriptManager类,研究一下里面有几十个方法,而且有些重载了.我拿最常用的方法讲一下.
1) RegisterClientScriptBlock方法:将js区块添加到页面顶端,你可以以字符串形式创建这些js代码,然后将它传递给添加网页的方法。其对应的包含方法IsClientScriptBlockRegistered()
使用方法如下:
以下是引用片段:
//动态创建js文件
string info = "";
info += "function showName(UserName)";
info += "{alert(’你的名字是:’+UserName);}";
// 判断myName是否已经被注册
if (!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "myName"))
...{
//动态注册js
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myName", info, true);
}
注意:可以查看一下生成页面的代码究竟怎样的?
2)RegisterClientScriptInclude方法:通过外部添加引用js脚本。其对应的包含方法IsClientScriptIncludeRegistered()
假如有一段这样的info.js脚本,如下所示:
以下是引用片段:
function showCity(City)
...{
alert("我爱我的:"+City);
}
引用它的例子,如下:
以下是引用片段:
//动态注册info.js的javascript文件
//判断是否已被注册
if (!ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "myMessage"))
...{
//若没有被注册,刚将Info.js动态注册
Page.ClientScript.RegisterClientScriptInclude("myMessage", "js/info.js");
}
注意一下每一个方法的参数就可以了。
3)RegisterStartupScript方法:将js区块添加当网页完成加载,但是在引发网页的onload事件之前,就会执行。其对应的包含方法IsStartupScriptRegistered。
使用它的例子如下:
以下是引用片段:
string info = " ";
if (!Page.ClientScript.IsStartupScriptRegistered("welcome"))
...{
Page.ClientScript.RegisterStartupScript(this.GetType(), "welcome", info);
}
4)RegisterOnSubmitStatement方法:添加执行以响应网页onsubmit事件的js。其对应的包含方法IsOnSubmitStatementRegistered。
使用它的例子如下:
以下是引用片段:
string info = "return confirm(’你确认删除?’);";
if (!Page.ClientScript.IsOnSubmitStatementRegistered(this.GetType(), "myPage"))
...{
Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), "myPage", info);
}
注意一下这里不用另外加 <script>标签,因为系统已经帮你生成好了。
3. 直接写在后台代码中:
Response.Write("","<script>alert('弹出窗口!');</script>");
Page.RegisterStartupScript("","<script>alert('弹出窗口!');</script>");
4.为按钮添加属性
btnDelete.Attributes.Add("OnClick", "javascript:DeleteGrouply();")
btnDelete为按钮名字。
最近接触过这块东西,查了些资料,把它们汇总了下。
如下我把ASP.NET 2.0中客户端脚本的使用方法进行一下总结,限于水平,不足之处请各位不吝赐教。
1.使用OnClientClick属性打开客户端脚本,使用方法如下:
js脚本:
以下是引用片段:
<script language="javascript" type="text/javascript">
function opensite()
...{ window.open("http://www.cnblogs.com");
return true; }
</script>
调用方法:
以下是引用片段:
<asp:Button ID="Button1" OnClientClick="opensite()" runat="server" Text="打开站点" />
2.动态注册js脚本,下面介绍一下以下四个方法的含义与使用:
以下几种方法都是派生自ClientScriptManager类,研究一下里面有几十个方法,而且有些重载了.我拿最常用的方法讲一下.
1) RegisterClientScriptBlock方法:将js区块添加到页面顶端,你可以以字符串形式创建这些js代码,然后将它传递给添加网页的方法。其对应的包含方法IsClientScriptBlockRegistered()
使用方法如下:
以下是引用片段:
//动态创建js文件
string info = "";
info += "function showName(UserName)";
info += "{alert(’你的名字是:’+UserName);}";
// 判断myName是否已经被注册
if (!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "myName"))
...{
//动态注册js
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myName", info, true);
}
注意:可以查看一下生成页面的代码究竟怎样的?
2)RegisterClientScriptInclude方法:通过外部添加引用js脚本。其对应的包含方法IsClientScriptIncludeRegistered()
假如有一段这样的info.js脚本,如下所示:
以下是引用片段:
function showCity(City)
...{
alert("我爱我的:"+City);
}
引用它的例子,如下:
以下是引用片段:
//动态注册info.js的javascript文件
//判断是否已被注册
if (!ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "myMessage"))
...{
//若没有被注册,刚将Info.js动态注册
Page.ClientScript.RegisterClientScriptInclude("myMessage", "js/info.js");
}
注意一下每一个方法的参数就可以了。
3)RegisterStartupScript方法:将js区块添加当网页完成加载,但是在引发网页的onload事件之前,就会执行。其对应的包含方法IsStartupScriptRegistered。
使用它的例子如下:
以下是引用片段:
string info = " ";
if (!Page.ClientScript.IsStartupScriptRegistered("welcome"))
...{
Page.ClientScript.RegisterStartupScript(this.GetType(), "welcome", info);
}
4)RegisterOnSubmitStatement方法:添加执行以响应网页onsubmit事件的js。其对应的包含方法IsOnSubmitStatementRegistered。
使用它的例子如下:
以下是引用片段:
string info = "return confirm(’你确认删除?’);";
if (!Page.ClientScript.IsOnSubmitStatementRegistered(this.GetType(), "myPage"))
...{
Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), "myPage", info);
}
注意一下这里不用另外加 <script>标签,因为系统已经帮你生成好了。
3. 直接写在后台代码中:
Response.Write("","<script>alert('弹出窗口!');</script>");
Page.RegisterStartupScript("","<script>alert('弹出窗口!');</script>");
4.为按钮添加属性
btnDelete.Attributes.Add("OnClick", "javascript:DeleteGrouply();")
btnDelete为按钮名字。
相关文章推荐
- ASP.NET 2.0中客户端脚本使用总结(ClientScriptManager)
- [导入]Asp.net中使用客户端脚本的方法
- 使用ASP.NET建立并控制客户端脚本的四种方法
- ASP.NET - 使用 Microsoft AJAX Library 创建自定义客户端脚本
- 在asp.net AJAX客户端使用复杂数据类型方法
- asp.net向客户端注册JavaScript脚本的三种方法
- Asp.net 中,在服务端向客户端写脚本的常用方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(4):异步通讯层生成的客户端代理类、使用HTTP GET进行调用
- asp.net客户端脚本调用页面方法
- asp.net 2.0 新控件介绍使用方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法:服务器端和客户端数据类型的自动转换:复杂类型
- ASP.NET 2.0 中的客户端脚本
- 使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
- ASP.NET 2.0中客户端脚本总结
- 在asp.net中使用客户端脚本
- 使用asp.net 2.0 客户端回调功能显示后台处理进度
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- ASP.NET AJAX 以及AJAXPRO使用客户端调用服务器端的方法--初学者学习
- asp.net 2.0生命周期 以及Page_Load Page_Init方法使用原理