1. Asp.net页面中包括自定义客户端脚本,包括静态客户端脚本
<script type="text/javascript" src="MyScript.js"></script>
优点:有助于组织客户端脚本,有利于客户端脚本重用。
2. Asp.net页面中包括自定义客户端脚本,动态创建客户端脚本
脚本运行的信息只有在运行时提供,使用动态创建客户端脚本。
A. 通过ClientScriptManager类提供的方法,动态的创建客户端脚本,并将脚本插入到已呈现侧页面:
1) RegisterClientScriptBlock : 在已呈现的页面顶部插入脚本块;
2) RegisterStartUpScript : 在已呈现的页面底部插入代码块;
B. 使用ScriptManager控件添加客户端脚本
在使用asp.net ajax功能时,可使用此种方式。
3. 使用 Microsoft AJAX Library 创建自定义客户端脚本
Microsoft AJAX Library 增加了一个类型系统以及一系列JavaScript对象的扩展,可提供与.net framework功能相似的面向对象的常用功能。
<script language= "javascript" type="text/javascript">
//注册命名空间
Type.registerNamespace("Dome");
//定义构造函数
Dome.Person = function (firstName,lastName,email)
{
this._firstName = firstName;
this._lastName = lastName;
this._email = email;
}
//添加原型方法
Dome.Person.prototype =
{
getFirstName : function()
{
return this._firstName;
},
getLastName : function()
{
return this._lastName;
},
getEmail : function()
{
return this._email;
},
toString : function ()
{
return String.format("My name is {0} {1},and my email is {2}",this.getFirstName(),
this.getLastName(),this.getEmail());
}
}
//注册类
Dome.Person.registerClass('Dome.Person',Dome.Person);
</script>
<input type="button" value = "wo" onclick="alert(new Dome.Person('Bill','Gates','null')); " />
4. 向 ASP.NET Web 服务器控件添加客户端脚本事件
1) 以声明方式向 ASP.NET 服务器控件添加客户端事件处理程序
<asp:button id="Button1" runat="server" text="Button1"
onmouseover="MakeRed();" onmouseout="RestoreColor();" />
2) 以编程方式向 ASP.NET 控件添加客户端事件处理程序
在页面的Init事件或OnLoad事件中调用控件的Attribute集合中Add方法。
protected void Page_Load(object sender, EventArgs e)
{
String displayControlName = "spanCounter";
TextBox1.Attributes.Add("onkeyup", displayControlName +
".innerText=this.value.length;");
}
3) 向按钮控件添加客户端 Onclick 事件
将OnClientClick事件设置为要执行的客户端脚本。
5. 在客户端脚本中引用服务器控件
呈现 ASP.NET 服务器控件时,该控件的 ClientID 属性 (Property) 将作为结果元素的 id 属性 (Attribute) 和 name 属性 (Attribute) 呈现于页面上。因此我们可以在客户端的脚本中绑定ClientID,从而可以在客户端脚本中操纵服务器控件。