2016-11-05 75 views
2

后面我有一个jQuery功能:jQuery的功能没有得到从C#代码调用的RegisterStartupScript

<script src="Scripts/jquery-3.1.1.min.js"></script> 
    <script type="text/javascript"> 

     $(document).ready(function() { 
      alert("1"); 
      function hideInfo() { 
       alert("2"); 
       $("#h3memberInfo").fadeOut("slow"); 
      }; 
     }); 

    </script> 

我想从C#如下上述函数调用。

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "alert", "hideInfo();", true); 

在页面加载我得到alert("1")alert("2")永远不会触发。

我在做什么错?

+0

你是不是调用函数的任何位置....虽然你没有范围之外访问功能.....使它可访问在全局上下文中定义它或使用jQuery处理单击事件 –

+0

何时执行c#代码? – Tal87

+0

同样可以调用javascript函数。还有什么我必须做的!! –

回答

6

由于您的函数hideInfo()被包装在$(document).ready块中,因此您在代码背后试图在全局范围内不可用。

您可以修改如下代码,

<script src="Scripts/jquery-3.1.1.min.js"></script> 
    <script type="text/javascript"> 

     function hideInfo() {  
      $(document).ready(function() { 
       alert("1"); 
       $("#h3memberInfo").fadeOut("slow");     
      }); 
     } 

    </script> 
+0

函数被调用。但第二行功能淡出标签不起作用。 –

+0

这是ID#h3memberInfo'正确吗?你可以在html查看源代码中检查这个吗?如果它是一个ASP.Net控件ID将在视图源中更改。浏览器上的 – Aruna

+0

,id是childcontainer_h3memberinfo。我如何访问jQuery中的clientID? –