日期:2014-05-17  浏览次数:20425 次

后台无法调用js的函数?
xxx.aspx页面写了个函数
<script type="text/javascript">
   function ShowMask() {
          ......
    }
</script>
xxx.aspx.cs中

这个页面某个按纽事件:

protected void Print_Click(object sender, EventArgs e)
{
…………………………
            ClientScript.RegisterStartupScript(ClientScript.GetType(), "", "parent.window.ShowMask();", true);
            ClientScript.RegisterStartupScript(this.GetType(), "showMask", "<script>ShowMask()</script>");
            ClientScript.RegisterClientScriptBlock(this.GetType(), "showMask", "<script>ShowMask()</script>"); 
}


网上说的这三种方法都调不了前台的js函数(js函数没写错),是我哪写得有错吗?

------解决方案--------------------
1、 "showMask" 这个参数值是不能重复的,如果重复了,那么后一个会覆盖前一个。

2、"<script>ShowMask()</script>" 输出的位置必须在 函数定义的后面,一般是在网页的最后。

应该是这个 RegisterStartupScript 函数,但是你的后一个函数 的第二个参数也是 "showMask" ,把 RegisterStartupScript 输出的函数给覆盖掉了,所以就掉不来。


------解决方案--------------------
在aspx页面最底下加上 <script type="text/javascript">ShowMask();</script>