2016-11-05 71 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? –