在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
ClientScript.RegisterStartupScript: ClientScript.RegisterClientScriptBlock: ASP.NET中,可以使用这两个方法从后台向前台注册JavaScript脚本; public void RegisterStartupScript(Type type, string key, string script, bool addScriptTags); public void RegisterClientScriptBlock(Type type, string key, string script, bool addScriptTags); 如果addScriptTags==true,那么script会被包含在<script></script>元素块中; ClientScript.RegisterClientScriptBlock(Page.GetType(), "write", "<h1>标题一</h1>", false); 当然了,不推荐这种做法了,因为太不灵活了,RegisterClientScriptBlock写的html元素只能在页面的顶部,RegisterStartupScript写的html元素只能在页面的底部;比较灵活的做法是,使用JavaScript操作DOM元素。 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ClientScript.RegisterClientScriptBlock(Page.GetType(), "", "alert('RegisterClientScriptBlock');", true); ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('RegisterStartupScript');", true); } } 生成的html: <form method="post" action="Default.aspx" > <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATE" /> </div> <script type="text/javascript"> //<![CDATA[ alert('RegisterClientScriptBlock');//]]> </script> <div> </div> <script type="text/javascript"> //<![CDATA[ alert('RegisterStartupScript');//]]> </script> </form> 生成的html源代码清楚的展现了注册的脚本在页面上的位置; public bool IsStartupScriptRegistered(Type type, string key); public bool IsClientScriptBlockRegistered(Type type, string key); 来检查是否注册了相应key的脚本,避免重复注册: ClientScript.RegisterStartupScript(Page.GetType(), "alert", "alert('RegisterStartupScript');", true); if (!ClientScript.IsStartupScriptRegistered(Page.GetType(), "alert")) { ClientScript.RegisterStartupScript(Page.GetType(), "alert", "alert('RegisterStartupScript_2');", true); } 上面的示例只是为了讲解IsStartupScriptRegistered的用法,实际使用中,没有谁会写这么小白的用法!~ if (string.IsNullOrEmpty(txtInput.Value.Trim())) { ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('不可以为空!');", true); return; } |
请发表评论