Response.Write和ClientScript.RegisterStartupScript区别

转载 2016年08月29日 09:02:03

Response.Write的生成HTML代码,你会发现Response.Write方法生成的代码是写到了HTML代码的最开始,即标签之前。此时,所有的 HTML对象都还没有生成,如果要想使用HTML内的对象,并与之交互,就会出现“找不到对象”的错误。因此,笔者推荐一个更加符合CodeBehind方式的方式----使用RegisterXXX方法。RegisterXXX包括:RegisterClientScriptBlock、RegisterStartupScript以及用于判断的IsStartupScriptRegistered函数。

RegisterStartupScript 的原型是:

  Overridable Public Sub RegisterStartupScript( _
  ByVal key As String, _
  ByVal script As String _
  )

  其中:key表示这个脚本的唯一标识,script是代表脚本的字符串。

  RegisterClientScriptBlock的原型与RegisterStartupScript相同,两个函数不同在于将其包含的脚本代码写入到HTML文件的不同位置。RegisterClientScriptBlock在 Page 对象的元素的开始标记后立即发出客户端脚本,RegisterStartupScript则是在Page 对象的元素的结束标记之前发出该脚本。如果你的脚本有与页面对象(doucument对象)进行交互的语句,则推荐使用RegisterStartupScript,反之如果要想客户端脚本尽可能早的执行,则可以使用RegisterClientScriptBlock或Response.Write。

   如:

ClientScript.RegisterStartupScript(GetType(), "", "<script>if(confirm('你确认要删除导航:/"" + GridView1.Rows[index].Cells[2].Text + "/"吗?')==true) window.open('del.aspx?id="+ID+"');</script>")

  为了防止在页面中反复加入脚本,在注册脚本时ReisterStartupScript/RegisterClientScriptBlock使用了key作为注册的Key,然后在程序中可以使用IsClientScriptBlockRegistered作判断。


原链接:http://blog.csdn.net/haoliumeihua/article/details/4075251

Page.ClientScript.RegisterStartupScript 与 RegisterClientScriptBlock 之间的区别

RegisterStartupScript方法与RegisterClientScriptBlock方法采用相同的结构: RegisterStartupScript(type, key, script...

用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别:

c# @ Page Language=”C#” %> script runat=”server”> protected void Page_Load(object sender, E...

Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别

Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 被用来注册脚本块。第一个是 ...
  • tearsmo
  • tearsmo
  • 2011年07月22日 09:38
  • 730

Page.ClientScript.RegisterStartupScript用法小结

使用类型、键、脚本文本和指示是否添加脚本标记的布尔值向 Page 对象注册启动脚本。 参数 type 要注册的启动脚本的类型。 key 要注册的启动脚本的键。 scrip...

Page.ClientScript.RegisterStartupScript() 方法

Page.ClientScript.RegisterStartupScript() 方法 与Page.ClientScript.RegisterClientScriptBlock() 方法 ...
  • comeonJ
  • comeonJ
  • 2012年01月11日 14:50
  • 877

转)服务器端注册脚本Page.ClientScript.RegisterStartupScript,RegisterClientScriptBlock,RegisterStartupScript,Re

Page.ClientScript.RegisterStartupScript() 使用类型、键、脚本文本和指示是否添加脚本标记的布尔值向 Page 对象注册启动脚本。 参数 type...

Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法

第一篇: 最初可用的选项之一就是使用一个可实现此功能的 .NET 类来注册脚本块。第一个是 RegisterStartupScript 方法。当您有一个想要在页面加载时启动的 Jav...

Page.ClientScript.RegisterClientScriptBlock 之间的区别

最初可用的选项之一就是使用一个可实现此功能的 .NET 类来注册脚本块。 第一个是RegisterStartupScript方法。当您有一个想要在页面加载时 启动的 JavaScript 函数...

ScriptManager和ClientScript的区别

ClientScript获取用于管理脚本、注册脚本和向页面添加脚本的ClientScriptManager对象。 ScriptManager.RegisterStartupScript方法和Cl...

Page.RegisterClientScriptBlock 和Page.RegisterStartupScript区别

msdn如下说:允许 asp.net 服务器控件在 page 中发出客户端脚本块。     [C#]     public virtual void RegisterStartupScript( ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Response.Write和ClientScript.RegisterStartupScript区别
举报原因:
原因补充:

(最多只允许输入30个字)