Manipulating Pages and Server Controls with JavaScript(使用JS处理页面和服务器控件)
通常我们可以使用页面内联的JavaScript代码控制客户端页面的动作。但是在ASP.NET编程中服务器端控制JavaScript的方法似乎很有限,主要有以下几种:
1、直接写死在页面中的Script代码,如:
<body onload="javascript:document.forms[0][‘TextBox1’].value=Date();">
<form id=”form1” runat=”server”>
<div>
<asp:TextBox ID="TextBox1" Runat="server" Width="300"></asp:TextBox>
</div>
</form>
</body>
</html>
2、使用Page.ClientScript.RegisterClientScriptBlock方法可以在页面头部写入Script代码。
❑ RegisterClientScriptBlock (type, key, script)
❑ RegisterClientScriptBlock (type, key, script, script tag specification)
<%@ Page Language=”C#” %>
<script runat=”server”>
protected void Page_Load(object sender, EventArgs e)
{
string myScript = @”function AlertHello() { alert(‘Hello ASP.NET’); }”;
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
“MyScript”, myScript, true);
}
</script>
3、使用Page.Response.Write()方法可以在页面头部写入Script代码。
<%@ Page Language=”C#” %>
<script runat=”server”>
protected void Page_Load(object sender, EventArgs e)
{
string myScript = @”function AlertHello() { alert(‘Hello ASP.NET’); }”;
Page.Response.Write(myScript);
}
</script>
4、使用Page.ClientScript.RegisterStartupScript 方法可以在页面尾部写入Script代码
❑ RegisterStartupScript (type, key, script)
❑ RegisterStartupScript (type, key, script, script tag specification)
protected void Page_Load(object sender, EventArgs e)
{
string myScript = @”alert(document.forms[0][‘TextBox1’].value);”;
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
“MyScript”, myScript, true);
}
5、使用Page.ClientScript.RegisterClientScriptInclude方法可以允许程序员把Script代码写在一个单独的文件中,然后调用此方法可以在当前页面中引入此JS文件。
string myScript = “myJavaScriptCode.js”
Page.ClientScript.RegisterClientScriptInclude(“myKey”, myScript);
最终效果就是如下所示的样子:
<script src=”myJavaScriptCode.js” type=”text/javascript”></script>