为什么不调用我的JavaScript函数?

时间:2010-10-08 17:01:32

标签: javascript ajax asp.net-mvc-2

以下是我目前为我的索引网站所做的事情:

<%  if (Model.Data != null)
    {
       if (Model.Data.Rows.Count > 0)
       {
       var divLoadGif = string.Empty;
           var divRealData = string.Empty;
           for(int n = 0; n < Model.Data.Rows; n++)
           {
               divLoadGif  = "divLoadGif_"  + n.ToString("0000");
               divRealData = "divRealData_" + n.ToString("0000");    
%>
               <div id="<%:divLoadGif%>" style="width: 100%;">
                  Please wait ... 
                  <img src="/loading.gif" alt="loading ..." />
               </div> 

               <div id="<%:divRealData%>" style="visibility: hidden;">
                  <div id="column_1" style="width: 25%; float:left;">
                     This
                  </div>
                  <div id="column_2" style="width: 25%; float:left;">
                     is
                  </div>
                  <div id="column_3" style="width: 25%; float:left;">
                     a test
                  </div>
                  <div id="column_4" style="width: 25%; float:left;">
                    row.
                  </div>
               </div>

               <script type="text/javascript">
                  AsyncFunction(<%: divLoadGif %>, <%: divRealData %>, n);
               </script>
<%        }
       }
    }
%>

控制器填满我的Model.Data。例如:

  • Model.Data.Row应该等于3.这意味着循环将进行3“轮”。我们的想法是,在每个“圆形”中,应显示加载gif,而div部分(包含4列)则不可见。

  • 然后应该调用JavaScript函数AsyncFuntionCall。 (这失败了。)

  • 这个JavaScript函数变成两个“div标签id”和n(for循环的变量)。然后它将使用AJAX来调用控制器方法。

  • 控制器方法还获得div标签和n

  • 最后,控制器方法将被调用3次。控制器方法将为每次调用返回“结果”。每次调用都需要几秒钟才能将结果返回给AJAX功能。

我的AJAX调用的success: function (result) { result = $.parseJSON(result); ...}部分 然后将执行以下操作:

  • 解析result

  • divid="<%:divLoadGif%>"切换为隐藏。

  • divid="<%:divRealData%>"切换为可见。

  • 将4“值”替换为来自result的已解析值。

容易吗?不适合我:-(因为我有一些问题:

  1. 循环正常。但是根本没有调用JavaScript函数AsyncFunction!出了什么问题?

  2. 我完全不知道如何更改"This" "is" "a test" "row"值 我的AJAX电话的success: function (result) { result = $.parseJSON(result); ...}部分。

1 个答案:

答案 0 :(得分:1)

尝试AsyncFunction(<%: divLoadGif %>, <%: divRealData %>, <%: n %>);