2010-08-05 2 views
1

У меня есть список, который я прокручиваю, чтобы заполнить таблицу. Я хотел бы передать строку данных в код javascript в лучшем случае. Если нет, я хотел бы передать список и номер идентификатора для поиска этой строки в списке. Как я могу это сделать?Как передать список из aspx в javascript?

<%foreach(var item in Model.NewList) { %> 
<tr> 
    <td><%=item.EntryDate.ToShortDateString() %></td> 
    <td onmouseover="showDetailsHover(<%=item %>,<%=item.idNumber%>);" 
     onmouseout="hideDetailsHover();"><%=Html.ActionLink(item.idNumber,"SummaryRedirect/" + item.idNumber) %></td> 
</tr> 
<% } %> 

ответ

0

спасибо за идеи. В конце концов я вырыл немного глубже с вашими предложениями и я использовал цикл в списке я передал затем добавить свои данные в строку на основе цикла ...

success: function(data) { 
     var loopList = data.message.NewList; 
     for (var i = 0; i < loopList.length; i++) { 
      addRecentData(loopList[i]); 
     } 
    }, 
}); 
function addRecentData(data) { 
    .... 
} 

спасибо за толчок!

1

Вы можете использовать JSON сериализации передавать эти данные http://json.codeplex.com/ - библиотека для сериализации

1

Понятие «пропусканием список из ASPX в JavaScript» немного трудно понять, так как код ASP.NET работает на сервере, а javascript-код запускается в браузере. Поскольку они существуют в разных доменах, вы не можете просто «передать» список из одного домена в другой.

Однако, у вас есть несколько вариантов:

  • Expose веб-сервис, который вы можете получить доступ с помощью JavaScript. Веб-служба может нести ответственность за предоставление строки данных, чтобы javascript мог ее понять.
  • Вставляйте статически отформатированные данные JSON непосредственно в функцию javascript, когда ваша страница загружается. JSON - это формат, который может понять javascript. Хотя технически это не «передача» переменной в javascript-функцию из ASP.NET, она говорит «Вот данные, которые я хочу запустить в своей функции javascript, когда/если она выполняется на клиенте».
1

Самый быстрый способ, которым я могу думать, это:

  1. Используйте Json.Net сериализации список, как JSon строка на вашей странице.
  2. Включить jQuery и jQuery-json плагин.
  3. Определите список javascript в функции javascript.

Что-то вроде этого на странице ASPX:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript" src="http://jquery-json.googlecode.com/files/jquery.json-2.2.js"></script> 
<script type="text/javascript"> 
    function foo() { 
     // This is where we use the Json.Net library 
     var rawJsonString = '<%= Newtonsoft.Json.JsonConvert.SerializeObject(Model.NewList) %>'; 

     // This is where we use the jQuery and jQuery-json plugin 
     var list = $.evalJSON(rawJsonString); 

     // Do stuff with your list here 
    } 
</script> 
Смежные вопросы