在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)
      }
posted @ 2011-08-16 13:18  隆中小屋  阅读(528)  评论(0编辑  收藏  举报