2010-10-08 8 views
0

Вот то, что я до сих пор для указательного сайта:Почему моя функция JavaScript не вызывается?

<% 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 «раундов». Идея заключается в том, что в каждом «раунде» отображается gid загрузки, а часть div (с 4 столбцами) невидима.

  • Затем следует вызвать функцию JavaScript AsyncFuntionCall. (Это не удалось.)

  • Эта функция JavaScript становится двумя «идентификаторами тегов div» и n (переменная цикла for). Затем он будет использовать AJAX для вызова метода контроллера.

  • Метод контроллера получает также теги div и n.

  • Наконец, метод контроллера будет называться 3 раза. Метод контроллера возвращает «результат» для каждого вызова. Каждому звонку потребуется несколько секунд, прежде чем он вернет результат в функциональность AJAX.

success: function (result) { result = $.parseJSON(result); ...} часть моего AJAX вызов будет сделать следующее:

  • Разбирает result. KG divid="<%:divLoadGif%>" скрыто.

  • Переключить div на id="<%:divRealData%>" на вид.

  • Замените значения 4 "на разобранные значения от result.

Простенько? Не для меня :-(потому что у меня есть некоторые проблемы:.!?

  1. Цикл работает нормально, но функция JavaScript AsyncFunction не вызывается вообще что происходит не так

  2. У меня нет абсолютно никакой идеи, как я могу изменить "This" "is" "a test" "row" значения в в success: function (result) { result = $.parseJSON(result); ...} части моего вызова AJAX.

ответ

1

Попробуйте AsyncFunction(<%: divLoadGif %>, <%: divRealData %>, <%: n %>);

Смежные вопросы