ASP.NET 中动态添加JS

本文介绍ASP.NET2.0中利用ClientScriptManager动态注册JavaScript的方法,包括直接注册脚本块、引入外部.js文件、注册启动脚本及响应onsubmit事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户端动态注册 JavaScript

在 ASP.NET2.0 中有一个专门用来管理客户端 JavaScript 脚本的类 ClientScriptManager
这样我们可以根据程序需要动态的注册所需的 JavaScript 脚本程序

它具有四种方式
I   RegisterClientScriptBlock
    将 JavaScript 区块添加到页面头部 [Head]。
    可 以字符创形式创建这些代码,然后将它传递给添加网页的方法。可以使用这种方式将任何 JavaScript 插入网页。
    对应的检测注册方法
    Page.ClientScript.IsClientScriptBlockRegistered()

    Sample:  
protected void Page_Load(Object sender, EventArgs e)
{
    
//动态建立 JavaScript
    string info = "";
     info
+= "function showName(username)";
     info
+= "{alert('您的名字是' + username);}";

    
//判断 myName 是否已被注册
    if(!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "myName"))
    {
   
    //动态注册 JavaScript
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myName", info, true);
    }
}


II RegisterClientScriptInclude
    这种方法类似上一种方法,但是会添加引用外部 .js 文件的 JavaScript 区块。
    在以动态方式添加任何其他 JavaScript 之前就会添加这个包含文件。因此您可能无法引用网页上的某些项目。
    对应的检测注册方法
    Page.ClientScript.IsClientScriptIncludeRegistered()

    Sample:
    Info.js
//JavaScript
function showName(username)
{
     alert('您的姓名是: '
+username);
}

    Page.aspx
<form id="form1" runat="server">
<div>
     请输入姓名:
<input id="txtUserName" type="text" />
    
<input type="button" id="btnSubmit" value="确定" onclick="showName(txtUserName.value)" />
</div>
</form>

    Page.aspx.cs
protected void Page_Load(Object sender, EventArgs e)
{
    
//动态注册 Info.js
    
//判断是否已被注册
    if(!ClientScript.IsClientSecriptIncludeRegistered(this.GetType(), "myMessage"))
    {
   
    //若没有被注册,则将 Info.js 动态注册
        Page.ClientScript.RegisterClientScriptInclude("myMessage", "./Script/Info.js");
    }
}


III RegisterStartupScript
    RegisterStartupScript 通常只包含“执行一次”的 JavaScript,例如用户进入网页就显示一个欢迎光临的消息。
    对应的检测注册方法
    Page.ClientScript.IsStartupScriptRegistered()

    Sample
protected void Page_Load(Object sender, EventArgs e)
{
    
string info = "<script>alert('欢迎光临领航网络管理系统!');</script>";
    
if(!Page.ClientScript.IsStartupScriptRegistered("welcome"))
    {
        Page.ClientScript.RegisterStartupScript(
this.GetType(),"welcome",info);
    }
}


IV RegisterOnSubmitStatement
    添加 执行以响应网页 onsubmit 事件的 JavaScript。在送出网页之前就会执行 JavaScript,并且让你有机会取消提交操作。
    对应检测注册方法
    Page.ClientScript.IsOnSubmitStatementRegistered()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值