|
√ Google adsense申请技巧 √ 本站核心代理域名注册主机业务
√ 快速发布你的买卖域名买卖网站信息
√ 1元注册 cn域名
√ 站长每日新闻导读 √ ·推荐万网空间¥120元 150m √ 站长网:站长必上的网站 √ 网站联盟大全 √ 本站代理万网域名55空间120元 |
ASP.NET的替换选项
ASP.NET支持使用诸如输入按钮和文本框等HTML元素,但是在ASP.NET自己的开发模型上有一套完成的控件元素可以提供额外的功能。
将JavaScript附加到ASP.NET上并不像直接的HTML/JavaScript方式那么简单,ASP.NET编程模式在基本页面类中提供了方法来附加脚本程序块到页面元素当中。以下的方法可以用于附加或整合JavaScript到页面或页面元素中:
RegisterClientScriptBlock:允许您的页面含有脚本程序块,客户端脚本在页面对象<form runat= server>元素的起始标签之后开始运行,脚本程序块是作为对象来提交输出的,所以您必需加上两个<script>元素标签。
RegisterOnSubmitStatement:允许您指派一个脚本程序块/方法到页面对象OnSubmit事件上。
RegisterStartupScript:允许您在页面中包含脚本程序块,与RegisterClientScriptBlock方法类似,这一方法在页面对象<form runat= server>元素的结束标签之前开始运行,脚本程序块是作为对象来提交输出的,所以您必需加上两个<script>元素标签。
每个方法都可以接受两个参数:键和脚本,键是分配给脚本程序块的名称,键值应当是唯一的,通过这一唯一的键值,多个服务器控制的实例可以请求脚本程序块,而不必让脚本再次运行输出流;第二个参数脚本包含了发送到客户的实际脚本,它可以是完整的JavaScript代码或一个方法的名称。
这些方法可以使用在实际的ASP.NET页面代码中,无论是VB.NET、C#、J#或任何其它的语言,列表B展示了用C#编写的ASP.NET示例代码。
<%@ Page language="c#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html><head>
<title>TechRepublic.com Test</title>
<script language="C#" runat="Server">
public void Page_Load(object sender, System.EventArgs e) {
String sString = "<script language=\"JavaScript\">";sString += "function confirmSubmit() {\n";sString += "varval = confirm('Are you sure you want to submit?');\n";sString += "if (val) { \n";sString += "document.frmTest.submit();\n";sString += "} else {\n";sString += "// Do something else\n";sString += "} }\n<";sString += "/";sString += "script>";
if(!IsClientScriptBlockRegistered("confirmScript")) {RegisterClientScriptBlock("confirmScript", sString); }btnSubmit.Attributes.Add("onclick", "confirmSubmit();");
}
</script></head>
<body>
<form id="frmTest" method="post" runat="server">
<asp:TextBox id="txtName" runat="server" />
<asp:Button id="btnSubmit" runat="server" Text="Submit" />
</form></body></html>JavaScript方法是通过一个字符串变量来构建的,它的值传递给RegisterClientScriptBlock方法作为第二个参数,实际的方法名称是通过该对象的Attributes 属性的Add方法来分配给ASP.NET的按钮控件的,JavaScript事件是作为第一个参数传递的,而方法名称则是第二个参数。
而且,你可能会注意到IsStartupScriptRegistered方法的使用,该方法允许您在继续使用前确认该脚本是否已经被注册了,有两个方法可以用于这个问题:
IsStartupScriptRegistered:确认客户端的起始脚本是否已经在页面对象上注册,其单一参数是脚本的名称。
IsClientScriptBlockRegistered:确认客户端的脚本程序块是否已经在页面对象上注册,其唯一的参数是脚本的名称。