Response.Write和ClientScript.RegisterStartupScript区别
2009-11-28 22:28
459 查看
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作判断。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/haoliumeihua/archive/2009/04/15/4075251.aspx
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作判断。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/haoliumeihua/archive/2009/04/15/4075251.aspx
相关文章推荐
- Response.Write 与 Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别
- Response.Write 与 Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别
- Response.Write/Page.ClientScript.RegisterStartupScript/Page.ClientScript.RegisterClientScriptBlock区别
- asp.net 需知:RegisterStartupScript、RegisterClientScriptBlock、Response.Write 使用区别
- Response.Write,Page.RegisterClientScriptBlock和Page.RegisterStartupScript的区别
- Response.Write,Page.RegisterClientScriptBlock和Page.RegisterStartupScript的区别
- ASP .NET调用javascript中Response.Write和ClientScript.RegisterStartupScript的区别
- Response.write,Page.RegisterStartupScript与Page.RegisterClientScriptBlock三者的区别
- Response.Write和ClientScript.RegisterStartupScript区别(转载)
- Response.Write 输出js和Page.ClientScript.RegisterStartupScript的区别
- ASP .NET调用javascript中Response.Write和ClientScript.RegisterStartupScript的区别
- response.write()、Page.ClientScript.RegisterStartupScript()、Page.ClientScript.RegisterClientScriptBlock() 方法的区别
- Response.Write,Page.RegisterClientScriptBlock和Page.RegisterStartupScript的区别
- Response.Write,Page.RegisterClientScriptBlock和Page.RegisterStartupScript的区别
- Response.Write 与 Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptBlock 之间的区别
- ScriptManager.RegisterStartupScript/ClientScript.RegisterStartupScript/Response.Write三种加载脚本的区别
- Response.Write和ClientScript.RegisterStartupScript区别 .
- Response.Write()、Page.RegisterClientScriptBlock()、Page.RegisterStartupScript 的区别
- RegisterStartupScript,RegisterClientScriptBlock,Response.Write 简单说明区别
- ASP .NET调用javascript中Response.Write和ClientScript.RegisterStartupScript的区别