ASP.NET菜鸟进阶-Response.Write与RegisterXXX

首先说说RegisterXXX,其包含RegisterClientScriptBlock,RegisterStartupScript及用于判断的IsStartupScriptRegistered函数。

RegisterClientScriptBlock在Page 对象的元素的开始标记后立即发出客户端脚本,RegisterStartupScript则是在Page 对象的元素的结束标记之前发出该脚本。所以,如果脚本有与页面对象(doucument对象)进行交互的语句,应该使用RegisterStartupScript,反之则可以使用RegisterClientScriptBlock。RegisterClientScriptBlock和RegisterStartupScript的用法相同,包含两个参数,key表示这个脚本的唯一标识,script是待注册的脚本字符串。如下

string script = ".....";

RegisterClientScriptBlock("key", script);

为避免在页面中反复注册相同脚本,在注册脚本时使用IsClientScriptBlockRegistered判断注册关键字,如下:

If (!IsClientScriptBlockRegistered("key")) //判断是否已经注册了关键字=key的脚本,没有则注册

{

string script = ".....";

RegisterClientScriptBlock("key", script);

}

Response.Write同样也是将脚本写入客户端的一种方法,不过Response.Write将脚本写到了HTML代码的最开始,也就是标签之前,如:

string script = "...";

Response.Write(script);