为什么用Response.Write("<script>Publish(); </script>");  无法调用前台js脚本函数.
只能用RegisterStartupScript("1","<script>Publish(); </script>")才可以,什么原因,有人遇到过这种情况吗

解决方案 »

  1.   

    刚在刚才那个帖子给你回复,那个调用必须在你写的JavaScript之后才行,具体方法看那个帖子吧,我已经测试通过
      

  2.   

    (3)在后台发布代码中,Label.Text="";主要是防止再次加载时重复调用。
    我是按你的方法在另一个页面中写发布代码的,那要执行吗,如果要的话怎么执行?在JS中吗
      

  3.   

    在js中就需要用document.getElementById()得到那个Label,再将其value属性置为空。
      

  4.   

    可以把这段代码写在confirm的后面,与其在同一个函数中
      

  5.   

    Response.Write("<script>");输出在文件头部,一打开就执行。 
    RegisterClientScriptBlock一般返回的是客户端函数的包装, 
    而RegisterStartupScript返回得函数在document装载完成后会执行,类似于body onload="f()"里面的函数; RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。 
    RegisterStartupScript会将内容输出在</form>标记之前,Form上其他任何元素之后,这样可以保证StartupScript被浏览器执行之前其他的页面元素已经被正确的实例化。