Как я могу использовать цикл foreach для создания объектов JSON и вызова функций JQuery в бритве - PullRequest
1 голос
/ 31 мая 2011

Я хочу взять список объектов, выполнить итерацию по списку, построить объект json и вызвать функцию jquery в цикле foreach бритвы.

@foreach (var item in Model.CoordinatesObj) {
        var pinpoint = { "top": item.Top,
                "left": item.Left,
                "width": item.Width,
                "height": item.Height
            };
       $("#toPinpoint").mapImage.addPinpointExt(pinpoint);
}

Я хочу иметь возможность сделать это, чтобы он динамически создавал этот точечный объект и использовался для прохождения через мою функцию addPinpointExt. Model.CoordinatesObj - это список объектов. Это вообще возможно? Если нет, то какой лучший способ сделать это?

Ответы [ 3 ]

1 голос
/ 31 мая 2011

Я бы поместил цикл for в действие MVC и затем вызвал его с помощью $ .ajax ()

$.ajax({
   url: "/Home/NewAction/id", type: "POST", 
   error : function(req,status,errorObj) { /* handle error */ }, 
   success: function(result) {
        var pinpoint = result;
        $("#toPinpoint").mapImage.addPinpointExt(pinpoint);
   }
});

, используя Razor для генерации HTML.

0 голосов
/ 18 августа 2015

Если вы хотите смешать код на стороне сервера с простым текстом (Javascript / JSON в вашем случае), вы можете заключить простой текст в тег <text>:

@foreach (var item in Model.CoordinatesObj) {
    <text>
    var pinpoint = { "top": @item.Top,
            "left": @item.Left,
            "width": @item.Width,
            "height": @item.Height
        };
    $("#toPinpoint").mapImage.addPinpointExt(pinpoint);
    </text>
}

Обратите внимание, что вы такжеотсутствует @ перед переменными на стороне сервера.

У Фила Хаака есть хорошая справочная страница по Синтаксис Razor .

0 голосов
/ 04 января 2012
$("p")ToArray()

Создает для вас массив, содержащий значение каждого html-элемента (например, параграф 'p')В качестве альтернативы вы можете использовать функцию JQuery для каждой итерации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...