服务器端的javascript代码在asp.net中不起作用?

时间:2012-02-28 05:59:56

标签: javascript asp.net

当我从codebehind调用javascript函数时,我正在开发一个Asp.net应用程序,我发现例如:

  1. 点击事件未被解雇
  2. 我有一个javascript函数,使用ajax填充下拉列表中的项目但是当页面加载时我发现下拉列表为空
  3. 我使用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 个答案:

答案 0 :(得分: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>