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>

posted @   上海啸傲  阅读(183)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示