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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!