TAG:ASP.NET 中动态添加JS
客户端动态注册 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); } }
Info.js
function showName(username) { alert('您的姓名是: ' +username); }
<form id="form1" runat="server"> <div> 请输入姓名: <input id="txtUserName" type="text" /> <input type="button" id="btnSubmit" value="确定" onclick="showName(txtUserName.value)" /> </div> </form>
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"); } }
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); } }