ClientScriptManager 管理客户端脚本

本文介绍如何在ASP.NET中使用ClientScriptManager类管理客户端脚本,包括添加脚本块、注册JavaScript数组及外部脚本文件。通过具体示例展示了不同场景下脚本注册的方法。

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

ClientScriptManager 类用于管理客户端脚本并将它们添加到 Web 应用程序中。可以从 Page 对象的 ClientScript 属性获取对 ClientScriptManager 类的引用。

程序源代码:ClientScriptManager.rar

向客户端添加脚本:

ExpandedBlockStart.gif ContractedBlock.gif /**/ /// <summary>
InBlock.gif    
/// 向客户端添加脚本
InBlock.gif    
/// </summary>
InBlock.gif    
/// <param name="page">要添加脚本的页面</param>
InBlock.gif    
/// <param name="csName">标识脚本的键</param>
ExpandedBlockEnd.gif    
/// <param name="csText">脚本内容</param>

None.gif      public   void  RegisterClientScriptBlock(Page page, string  csName, string  csText)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        ClientScriptManager cs 
= page.ClientScript;
InBlock.gif        Type cstype 
= page.GetType();
InBlock.gif
InBlock.gif        
if (!cs.IsClientScriptBlockRegistered(cstype, csName))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            cs.RegisterClientScriptBlock(cstype, csName, csText, 
true);
ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedBlockEnd.gif    }

例如:
None.gif protected   void  Page_Load( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        ScriptManager scriptManager 
= new ScriptManager();
InBlock.gif        scriptManager.RegisterClientScriptBlock(
this"TestAlert""alert('测试 alert !');");
ExpandedBlockEnd.gif    }

向客户端添加数组:
ExpandedBlockStart.gif ContractedBlock.gif /**/ /// <summary>
InBlock.gif    
/// 使用数组名称和数组值向 Page 对象注册 JavaScript 数组声明。
InBlock.gif    
/// </summary>
InBlock.gif    
/// <param name="page">添加脚本的页面</param>
InBlock.gif    
/// <param name="arrayName">数组名称</param>
ExpandedBlockEnd.gif    
/// <param name="array">数组值</param>

None.gif      public   void  RegisterArrayDeclaration(Page page,  string  arrayName, Array array)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        StringBuilder sbArrayValue
=new StringBuilder();
InBlock.gif        
for (int i = 0; i < array.Length; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if (i != 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                sbArrayValue.Append(
",\""+array.GetValue(i).ToString()+"\"");
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                sbArrayValue.Append(
"\"" + array.GetValue(i).ToString() + "\"");
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        ClientScriptManager cs 
= page.ClientScript;
InBlock.gif        cs.RegisterArrayDeclaration(arrayName, sbArrayValue.ToString());
ExpandedBlockEnd.gif    }

例如:
None.gif protected   void  Page_Load( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
string arrayName = "testArray";
ExpandedSubBlockStart.gifContractedSubBlock.gif        
int[] array =dot.gif{1,2,3 };
InBlock.gif        ScriptManager scriptManager 
= new ScriptManager();
InBlock.gif        scriptManager.RegisterArrayDeclaration(
this, arrayName, array);
InBlock.gif
InBlock.gif        StringBuilder csText 
= new StringBuilder();
InBlock.gif        csText.Append(
"function doSum() {");
InBlock.gif        csText.Append(
"var arrSum=");
InBlock.gif        csText.Append(
"parseInt(" + arrayName + "[0])+");
InBlock.gif        csText.Append(
"parseInt(" + arrayName + "[1])+");
InBlock.gif        csText.Append(
"parseInt(" + arrayName + "[2]);");
InBlock.gif        csText.Append(
"alert(arrSum);");
InBlock.gif        csText.Append(
"}");
InBlock.gif
InBlock.gif        scriptManager.RegisterClientScriptBlock(
this"Sum", csText.ToString());
InBlock.gif        btnDoSum.OnClientClick 
= "doSum(); return false";
InBlock.gif
ExpandedBlockEnd.gif    }

添加客户端脚本包含:
ExpandedBlockStart.gif ContractedBlock.gif /**/ /// <summary>
InBlock.gif    
/// 使用键和 URL 向 Page 对象注册客户端脚本包含。
InBlock.gif    
/// </summary>
InBlock.gif    
/// <param name="page">添加脚本的页面</param>
InBlock.gif    
/// <param name="includeName">要注册的客户端脚本包含的键。 </param>
ExpandedBlockEnd.gif    
/// <param name="url">要注册的客户端脚本包含的 URL。</param>

None.gif      public   void  RegisterClientScriptInclude(Page page,  string  includeName,  string  url)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        ClientScriptManager cs 
= page.ClientScript;
InBlock.gif        cs.RegisterClientScriptInclude(includeName, url);
ExpandedBlockEnd.gif    }

例如:
None.gif protected   void  Page_Load( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        ScriptManager scriptManager 
= new ScriptManager();
InBlock.gif        scriptManager.RegisterClientScriptInclude(
this"testInclude""JScript.js");
ExpandedBlockEnd.gif    }

转载于:https://www.cnblogs.com/hblynn/archive/2007/02/28/659963.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值