2012-02-28 55 views
-1

我正在開發一個Asp.net應用程序時,我打電話從代碼隱藏javascript函數我發現,例如:從服務器端的JavaScript代碼不在asp.net中工作?

  1. 單擊事件不會觸發
  2. 我有一個JavaScript函數,填充用ajax項目的下拉列表但加載頁面時,我發現下拉列表爲空

我使用的RegisterClientScriptBlock來執行JavaScript代碼

所以有這些問題的任何解決方案?

代碼片段:

後面的代碼:

ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientBlock", javacode.ToString()); 

這javacode什麼變量:

 <script type="text/javascript"> 
    <!-- 
    function ExecuteScript() 
    { 
    $("#divGender input").click(); 
    GetDMspecifyList(5); 
    $("cp1_drpDMSpecify").removeAttr('disabled'); 
    $("cp1_drpDMSpecify option:selected").val(4); 
    $("#divFamily input").click(); 
    } 
    </script> 
    // --> 

這個用來填充下拉列表但功能也不能正常工作

function GetDMspecifyList(DMID) { 
    $("#DMLoader").show(); 
    $.getJSON('FillDropDownLists.aspx?DMTypeID=' + DMID, function (types) { 
    $.each(types, function() { 
     $("#cp1_drpDMSpecify").append($("<option></option>").val(this['DMTypeCode']).html(this['DMTypeName'])); 
    }); 
    $("#DMLoader").hide(); 
    $("#DMSpecify_span").show(); 
    $("#cp1_hdDMType").val($("#cp1_drpDMSpecify").val()); 
    $("#cp1_drpDMSpecify").removeAttr('disabled'); 
    }); 

}

+1

嘗試使用此http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx – 2012-02-28 06:03:35

+1

你能分享你的代碼嗎?你到目前爲止嘗試過什麼? – arunes 2012-02-28 06:10:19

+0

我在主題中添加了代碼:) – 2012-02-28 07:47:50

回答

1

首先,「ExecuteScript()」函數缺少關閉大括號「}」。

此外,ExecuteScript()函數在任何地方調用嗎?

編輯

你可以嘗試類似下面的代碼的東西:

<script type="text/javascript"> 
<!-- 
    function ExecuteScript() { 
     $("#divGender input").click(); 

     GetDMspecifyList(5, function() { 
      $("cp1_drpDMSpecify").removeAttr('disabled'); 
      $("cp1_drpDMSpecify option:selected").val(4); 
      $("#divFamily input").click(); 
     }); 
    } 

    function GetDMspecifyList(DMID, callback) { 
     $("#DMLoader").show(); 
     $.getJSON('FillDropDownLists.aspx?DMTypeID=' + DMID, function (types) { 
      $.each(types, function() { 
       $("#cp1_drpDMSpecify").append($("<option></option>").val(this['DMTypeCode']).html(this['DMTypeName'])); 
      }); 
      $("#DMLoader").hide(); 
      $("#DMSpecify_span").show(); 
      $("#cp1_hdDMType").val($("#cp1_drpDMSpecify").val()); 
      $("#cp1_drpDMSpecify").removeAttr('disabled'); 

      callback(); 
     }); 
    } 


    $(function() { ExecuteScript(); }); 
// --> 
</script> 
+0

是的,在我的代碼中有一個花括號:)抱歉,在這裏錯過了它,沒有它的調用只有一次 – 2012-02-28 08:36:21

+0

我的猜測,看着當前代碼,你只添加ExecuteScipt函數,但沒有執行。嘗試添加ExecuteScript();在「javacode」變量內容的末尾。 – 2012-02-28 08:42:41

+0

甚至更​​好(因爲你使用的是jQuery):$(function(){ExecuteScript();});這將在加載DOM時執行該函數。 – 2012-02-28 08:49:03

相關問題