`

ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件!

阅读更多
在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本。具有相同的键和类型的脚本被视为重复脚本。因此,我们可以使用脚本类型来避免混淆可能用在页中的来自不同用户控件的相似脚本。  
<html>
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message"> <input type="button" value="ClickMe" onclick="DoClick()">
     </form>
  </body>
</html>



 1 <%@ Page Language="C#"%>
 2 <script runat="server">
 3   public void Page_Load(Object sender, EventArgs e)
 4   {
 5     // 定义客户端脚本类型和名称
 6     String csname1 = "PopupScript";
 7     String csname2 = "ButtonClickScript";
 8     Type cstype = this.GetType();
 9         
10     // 实例化客户端脚本新类
11     ClientScriptManager cs = Page.ClientScript;
12 
13     // 注册客户端起始脚本,在加载页时显示客户端警报消息
14     if (!cs.IsStartupScriptRegistered(cstype, csname1))
15     {
16       String cstext1 = "alert('Hello World');";
17       cs.RegisterStartupScript(cstype, csname1, cstext1, true);
18     }
19 
20     // 注册客户端执行脚本,定义 HTML 按钮的 onClick 事件的客户端处理程序
21     if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
22     {
23       StringBuilder cstext2 = new StringBuilder();
24       cstext2.Append("<script type=text/javascript> function DoClick() {");
25       cstext2.Append("Form1.Message.value='Text from client script.'} </");
26       cstext2.Append("script>");
27       cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
28     }
29   }
30 </script> 

 

分享到:
评论

相关推荐

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术

    8.1 asp.net服务端控件对客户端的支持 297 8.2 clientscriptmanager类功能详解 301 8.2.1 registerarraydeclaration方法 301 8.2.2 registerclientscriptblock方法 302 8.2.3 registerclientscriptinclude方法 ...

    庖丁解牛纵向切入ASP.NET 3.5控件和组件开发技术.pdf

     本书主要介绍asp.net的控件开发,书中通过70多个例子讲解了asp.net控件开发技术的各个方面,而且剖析了很多控件中系统基类源代码,读者从这些系统源代码可以体会设计模式思想。如果扎实地掌握了asp.net控件的运行...

    庖丁解牛 纵向切入ASP.NET 3.5控件和组件开发 part1

    16.5.2 asp.net ajax控件客户端生命周期 589 16.6 客户端控件示例应用 592 16.7 调试和跟踪 603 16.8 本章总结 605 第17章 asp.net ajax控件开发——服务端 606 17.1 asp.net ajax服务器控件概述 606 17.2 ...

    庖丁解牛 纵向切入ASP.NET 3.5控件和组件开发 part2

    16.5.2 asp.net ajax控件客户端生命周期 589 16.6 客户端控件示例应用 592 16.7 调试和跟踪 603 16.8 本章总结 605 第17章 asp.net ajax控件开发——服务端 606 17.1 asp.net ajax服务器控件概述 606 17.2 ...

    asp.net一夜速成18

    Invalid postback or callback ... If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

    asp.net:Page类和回调技术

    在今天我主要要介绍的有如下知识点: Page类介绍、 Page的生命周期、 IsPostBack属性、 ClientScriptManager类、 回调技术(CallBack)

    asp.net repeater实现批量删除时注册多选框id到客户端

    代码如下:public static void prerepater(Repeater repeater,System.Web.UI.Page page) { ClientScriptManager cs = page.ClientScript; for (int i = 0; i &lt; repeater.Items.Count; i++) { CheckBox cbx = ...

    asp.net一夜速成17

    Invalid postback or callback ... If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

    asp.net 组件开发中的内嵌资源引用

    类名字空间前资源注册 代码如下: [assembly: System.Web.UI.WebResource(“XXX.js.FilePlugin.js”, “text/javascript”)] OnPreRender事件 //资源名称 string _strResourceKey = “”; //资源名称 ...

    ClientScriptManager

    ClientScriptManager editor ajax

    默认为第四个文本框中的三个文本框的总和

    你好这不是一个很明确的问题,但是:如果要在内容页面中使用javascript,则:在内容页面中调用Page.ClientScriptManager.RegistgerClientScriptBlock如果问题是树文本框的总和,则需要将其值解析为int或double或......

Global site tag (gtag.js) - Google Analytics