Page.Response.Write();
Page.RegisterStartupScript();
Page.RegisterClientScriptBlock();
三者的区别
Response.Write输出后的位置在源文件的第一行.
RegisterStartupScript输出后的位置会在</form>的上一行.
RegisterClientScriptBlock输出后的位置会在<form>的下一行.(在asp.net自带的脚本和一些隐藏域之下).
如果你的脚本有与页面对象(doucument对象)进行交互的语句,则推荐使用 RegisterStartupScript,反之如果要想客户端脚本尽可能早的执行,则可以使用RegisterClientScriptBlock或 Response.Write。
protected void Page_Load(object sender, EventArgs e)
{
string myScript = @"alert(document.all.TextBox1.value);";
Page.ClientScript.RegisterStartupScript(this.GetType(),"MyScript", myScript, true);
}
public static void OpenWindowScript(Page pg,string url,string windowname)
{
string scriptBlock;
scriptBlock="<script language='javascript'>/n"+
"window.open("+"'"+url+"','"+"windowname"+"',"+"'toolbar=no,location=no,resizeabel=0,width=400,height=400'"+");"+
"</script>";
pg.RegisterClientScriptBlock("OpenWindow",scriptBlock);
//也有pg.ClientScript.RegisterClientScriptBlock(Tyep type,string key ,string script)
}