客户端动态注册 JavaScript
在 ASP.NET2.0 中有一个专门用来管理客户端 JavaScript 脚本的类 ClientScriptManager
这样我们可以根据程序需要动态的注册所需的 JavaScript 脚本程序
它具有四种方式
I RegisterClientScriptBlock
将 JavaScript 区块添加到页面头部 [Head]。
可 以字符创形式创建这些代码,然后将它传递给添加网页的方法。可以使用这种方式将任何 JavaScript 插入网页。
对应的检测注册方法
Page.ClientScript.IsClientScriptBlockRegistered()
Sample:
II RegisterClientScriptInclude
这种方法类似上一种方法,但是会添加引用外部 .js 文件的 JavaScript 区块。
在以动态方式添加任何其他 JavaScript 之前就会添加这个包含文件。因此您可能无法引用网页上的某些项目。
对应的检测注册方法
Page.ClientScript.IsClientScriptIncludeRegistered()
Sample:
Info.js
Page.aspx
Page.aspx.cs
III RegisterStartupScript
RegisterStartupScript 通常只包含“执行一次”的 JavaScript,例如用户进入网页就显示一个欢迎光临的消息。
对应的检测注册方法
Page.ClientScript.IsStartupScriptRegistered()
Sample
IV RegisterOnSubmitStatement
添加 执行以响应网页 onsubmit 事件的 JavaScript。在送出网页之前就会执行 JavaScript,并且让你有机会取消提交操作。
对应检测注册方法
Page.ClientScript.IsOnSubmitStatementRegistered()
在 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 );
}
}
{
// 动态建立 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);
}
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 >
< 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 " );
}
}
{
// 动态注册 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);
}
}
{
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()