ClientScript.RegisterStartupScript用来向前台页面注册script脚本,有两种重载方法,分别为ClientScript.RegisterStartupScript(Type type,string key ,string script);ClientScript.RegisterStartupScript(Type type,string key, string script,bool flag);
其中ClientScript.RegisterStartupScript(Type type,string key,string script)这个方法中,script要加上“<script></script>”.
而);ClientScript.RegisterStartupScript(Type type,string key, string script,bool flag);可以直接写成ClientScript.RegisterStartupScript(Type.GetType(),"",jsScript名称,true);这样在前台注册的时候可以自动加上<script></script>,
其中还有一个比较重要的一项是key,如果key设置的相同的话,就会第一个覆盖下面的jsScript代码,而失去效应,所以在用的时候要把key设置不同。
如这样
string javaScript = @" <script language = javascript> alert('测试1'); </script> ";
ClientScript.RegisterStartupScript(this.GetType(), "javaScript", javaScript);
string javaScript2 = @" <script language = javascript> alert('测试2'); </script> ";
ClientScript.RegisterStartupScript(this.GetType(), "javaScript2", javaScript2);
自己的例子:
登录的时候的验证不覆盖背景!
ClientScript.RegisterStartupScript(this.GetType(), "key", "<script language=\"javascript\" >alert('用户名或密码错误!');</script>");
ClientScript.RegisterStartupScript(this.GetType(), "key", "<script language='javascript' >alert('用户名或密码错误!');</script>");
这个登录的时候覆盖背景,但是其他的页面不覆盖:自己也不知道为什么
ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "", "alert('该用户未分配权限,请与管理员联系!')", true);