在asp.net后台使用客户端脚本
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) }