JavaScript 与 ASP.NET 页面的完美结合(转)
ASP.NET提供了一个强大的开发平台,但是一些已经很成熟的技术你也不要忽略,例如像JavaScript这样的技术,本文笔者将向您讲解如何将JavaScript代码联结到ASP.NET控件中。
ASP.NET提供了一个强大的开发平台,但是一些已经很成熟的技术你也不要忽略,例如像JavaScript这样的技术,本文笔者将向您讲解如何将JavaScript代码联结到ASP.NET控件中。
通常情况下,当一个Web应用软件需要一个弹出窗口或确认窗口或其它的客户端功能时,您可以创建必需的JavaScript方法,并在需要时调用它们。但是在一个开发平台上工作的时候就没有这么简单了。
在ASP.NET自己的开发模型上有一套完成的控件元素可以提供额外的功能。
将JavaScript附加到ASP.NET上并不像直接的HTML/JavaScript方式那么简单,ASP.NET编程模式在基本页面类中提供了方法来附加脚本程序块到页面元素当中。以下的方法可以用于附加或整合JavaScript到页面或页面元素中:
l RegisterClientScriptBlock:允许您的页面含有脚本程序块,客户端脚本在页面对象< form runat= server>元素的起始标签之后开始运行,脚本程序块是作为对象来提交输出的,所以您必需加上两个< script>元素标签。
l RegisterStartupScript:允许您在页面中包含脚本程序块,与RegisterClientScriptBlock方法类似,这一方法在页面对象< form runat= server>元素的结束标签之前开始运行,脚本程序块是作为对象来提交输出的,所以您必需加上两个< script>元素标签。
每个方法都可以接受两个参数:键和脚本,键是分配给脚本程序块的名称,键值应当是唯一的,通过这一唯一的键值,多个服务器控制的实例可以请求脚本程序块,而不必让脚本再次运行输出流;第二个参数脚本包含了发送到客户的实际脚本,它可以是完整的JavaScript代码或一个方法的名称。这些方法可以使用在实际的ASP.NET页面代码中,
JavaScript方法是通过一个字符串变量来构建的,它的值传递给RegisterClientScriptBlock方法作为第二个参数,实际的方法名称是通过该对象的Attributes 属性的Add方法来分配给ASP.NET的按钮控件的,JavaScript事件是作为第一个参数传递的,而方法名称则是第二个参数。
另一个解决问题的方法就是使用页面类的RegisterOnSubmitStatement方法,列表C重复了列表B的功能,但是不同之处在于将confirmSubmit方法连接到页面的提交事件上而不是按钮的点击事件上。
这个简单的例子清晰地说明了如何将JavaScript脚本程序块和JavaScript脚本包含到ASP.NET页面的控件上,如果您使用ASP.NET控件,这种方法可以帮助您将脚本联系到这些控件上,但是也可以使用注册(register)方法来集中一个项目的JavaScript。您可以创建一个包含了脚本的类文件并在需要时在页面中使用它们,这样就只需在一个位置对这些脚本进行管理,在一个应用软件中的一个或多个页面上使用这些脚本就会变得更容易。
JavaScript作为客户端脚本语言,无论在哪种开发平台都是有实际应用的,都是开发客户端功能的标准,尽管ASP.NET控件提供了大量的功能,很多时候您还需要将JavaScript与这些控件无缝的链接到一起。
ASP.NET提供了一个强大的开发平台,但是一些已经很成熟的技术你也不要忽略,例如像JavaScript这样的技术,本文笔者将向您讲解如何将JavaScript代码联结到ASP.NET控件中。
通常情况下,当一个Web应用软件需要一个弹出窗口或确认窗口或其它的客户端功能时,您可以创建必需的JavaScript方法,并在需要时调用它们。但是在一个开发平台上工作的时候就没有这么简单了。
在ASP.NET自己的开发模型上有一套完成的控件元素可以提供额外的功能。
将JavaScript附加到ASP.NET上并不像直接的HTML/JavaScript方式那么简单,ASP.NET编程模式在基本页面类中提供了方法来附加脚本程序块到页面元素当中。以下的方法可以用于附加或整合JavaScript到页面或页面元素中:
l RegisterClientScriptBlock:允许您的页面含有脚本程序块,客户端脚本在页面对象< form runat= server>元素的起始标签之后开始运行,脚本程序块是作为对象来提交输出的,所以您必需加上两个< script>元素标签。
l RegisterStartupScript:允许您在页面中包含脚本程序块,与RegisterClientScriptBlock方法类似,这一方法在页面对象< form runat= server>元素的结束标签之前开始运行,脚本程序块是作为对象来提交输出的,所以您必需加上两个< script>元素标签。
每个方法都可以接受两个参数:键和脚本,键是分配给脚本程序块的名称,键值应当是唯一的,通过这一唯一的键值,多个服务器控制的实例可以请求脚本程序块,而不必让脚本再次运行输出流;第二个参数脚本包含了发送到客户的实际脚本,它可以是完整的JavaScript代码或一个方法的名称。这些方法可以使用在实际的ASP.NET页面代码中,
JavaScript方法是通过一个字符串变量来构建的,它的值传递给RegisterClientScriptBlock方法作为第二个参数,实际的方法名称是通过该对象的Attributes 属性的Add方法来分配给ASP.NET的按钮控件的,JavaScript事件是作为第一个参数传递的,而方法名称则是第二个参数。
另一个解决问题的方法就是使用页面类的RegisterOnSubmitStatement方法,列表C重复了列表B的功能,但是不同之处在于将confirmSubmit方法连接到页面的提交事件上而不是按钮的点击事件上。
这个简单的例子清晰地说明了如何将JavaScript脚本程序块和JavaScript脚本包含到ASP.NET页面的控件上,如果您使用ASP.NET控件,这种方法可以帮助您将脚本联系到这些控件上,但是也可以使用注册(register)方法来集中一个项目的JavaScript。您可以创建一个包含了脚本的类文件并在需要时在页面中使用它们,这样就只需在一个位置对这些脚本进行管理,在一个应用软件中的一个或多个页面上使用这些脚本就会变得更容易。
JavaScript作为客户端脚本语言,无论在哪种开发平台都是有实际应用的,都是开发客户端功能的标准,尽管ASP.NET控件提供了大量的功能,很多时候您还需要将JavaScript与这些控件无缝的链接到一起。