方法1,
使用Response.Write,这种方法会把JS代码写在页面的最顶部(<html>的前面):
System.Web.HttpContext.Current.Response.Write("<script language=javascript>alert('JS代码');</script>");
方法2,
使用RegisterStartupScript,这种方法会把JS代码嵌入在页面的底部、表单的最后 (</form>前面),适用于要在页面控件加载完成后运行的JS代码 :
System.Web.UI.Page page = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(),"clientScript"))
page.ClientScript.RegisterStartupScript(page.GetType(), "clientScript", "<script language=javascript>alert('JS代码');</script>");
方法3,
使用RegisterClientScriptBlock,这种方法会把JS代码嵌入在页面的顶部、表单的最前 (<form>后面),适用于要在控件加载前执行的JS代码,类似于上面的Response.Write方式 :
System.Web.UI.Page page = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;
if (!page.ClientScript.IsClientScriptBlockRegistered(page.GetType(),"clientScript"))
page.ClientScript.RegisterClientScriptBlock(page.GetType(), "clientScript", "<script language=javascript>alert('JS代码');</script>");
///<summary>
///控件点击消息确认提示框
///</summary>
///<param name="page">当前页面环境,一般为this</param>
///<param name="msg">要显示的信息</param>
///<param name="trueDoSomething">如果点确定后要做的事(JavaScript脚本)</param>
///<param name="falseDoSomething">如果点取消后要做的事(JavaScript脚本)</param>
public static void ShowConfirm(System.Web.UI.Page page, string msg, string trueDoSomething, string falseDoSomething)
{
StringBuilder Builder = new StringBuilder();
Builder.Append("<SCRIPT language='JavaScript' defer>");
Builder.Append("if(confirm ('" + msg + "')){");
Builder.Append("" + trueDoSomething + "}");
Builder.Append("else{");
Builder.Append("" + falseDoSomething + "}");
Builder.Append("</SCRIPT>");
page.ClientScript.RegisterStartupScript(page.GetType(), "message", Builder.ToString());
}