码迷,mamicode.com
首页 > 其他好文 > 详细

response.write和ClientScript.RegisterStartupScript的区别

时间:2014-07-13 20:56:50      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:使用   文件   art   html   代码   div   

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作判断。

response.write和ClientScript.RegisterStartupScript的区别,布布扣,bubuko.com

response.write和ClientScript.RegisterStartupScript的区别

标签:使用   文件   art   html   代码   div   

原文地址:http://www.cnblogs.com/447262548qq/p/3840902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!