Итерация класса asp.net mvc в javascript [дубликат]

вместо использования

SELECT my_column FROM my_table where search_column IN (?)

использовать Sql Statement как

select id, name from users where id in (?, ?, ?)

и

preparedStatement.setString( 1, 'A');
preparedStatement.setString( 2,'B');
preparedStatement.setString( 3, 'C');

или использовать хранимую процедуру, это было бы лучшее решение, так как операторы sql будут скомпилированы и сохранены на сервере DataBase

1
задан Zax 9 June 2015 в 10:56
поделиться

3 ответа

Назначьте свою коллекцию переменной javascript, используя

var users = @Html.Raw(Json.Encode(Model.AllUsers))

, которую вы можете перебрать по

$.each(users, function(index, item) {
  // access the properties of each user
  var id = item.Id;
  var name = item.Name;
  ....
});
7
ответ дан Stephen Muecke 16 August 2018 в 01:00
поделиться
  • 1
    Спасибо за ответ. Не могли бы вы рассказать об обходной части? Это относится к указанному выше классу пользователей. – Zax 9 June 2015 в 11:03
  • 2
    просто Html.Raw() не будет работать? Для этого нужен Json.Encode? – Ehsan Sajjad 9 June 2015 в 11:04
  • 3
    См. Edit для доступа к каждому свойству каждого пользователя. – Stephen Muecke 9 June 2015 в 11:06
  • 4
    @StephenMuecke: Я получаю следующее исключение на JSON.parse: круговая ссылка была обнаружена при сериализации объекта типа «System.Data.Entity.DynamicProxies.User_D02A520B40433C88E2D653B140881AE8C121BC55EC122BCB5567A8B08366EA2A». – Zax 9 June 2015 в 11:18
  • 5
    Это означает, что typeof User будет содержать свойство User - но это не то, что указывает код в вашем вопросе? – Stephen Muecke 9 June 2015 в 11:20
<script type="text/javascript">

    var UsersList = @Html.Raw(Json.Encode(Model.AllUsers))

    for (var i = 0; i < UsersList.length; i++) {
        alert(UsersList[i].Id);
        alert(UsersList[i].Name);

    } 
 </script>
2
ответ дан Abbas Galiyakotwala 16 August 2018 в 01:00
поделиться

JavaScript, как правило, недовольны компонентами бритвы, хотя, если выше это часть файла CSHTML, он будет работать.

Другие подходы:

  1. Отобразить коллекцию, используя razor @foreach ...
  2. Передача коллекции как параметра с вашей веб-страницы в функцию JavaScript на каком-либо событии

Как вы называете эту функцию и что она делает?

0
ответ дан Peter Smith 16 August 2018 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: