Использование asp.net <%:%> синтаксиса для генерации JavaScript в приложении MVC - PullRequest
0 голосов
/ 11 августа 2010

У меня есть цикл for для просмотра моего списка SliderItems, которые содержат ID, ImageUrl и URL ссылки.

<% foreach (var item in Model) { %>
    <a href="#"><img id="<%: item.ImageID %>" src="<%: item.ImageUrl %>" class="slide" alt="" /></a>
<%} %>

Мне нужно выполнить цикл и автоматически сгенерировать параметры данных для этого javascript аналогичным образом, заменив «slide-img- #» моим SliderItem.ID

 <script type="text/javascript">
           if (!window.slider) var slider = {}; slider.data = [{ "id": "slide-img-1" }, { "id": "slide-img-2" }, { "id": "slide-img-3" }, { "id": "slide-img-4"}];
       </script>

Как лучше всего это сделать?

1 Ответ

1 голос
/ 11 августа 2010

Лично мне нравится генерировать все данные json в собственном представлении и выполнять асинхронный вызов, или вы можете сделать это

 <script type="text/javascript">
  <%=Html.Action("thingie").ToString() %>
  </script>

с контроллером

public ActionResult thingie()
    {
        var retVal = Json(new { blah = 1, foo = 2, bar = 3 }, JsonRequestBehavior.AllowGet);
        retVal.ContentType = "text/html";
        return retVal;
    }

или самым простымответ должен делать именно то, что вы делаете выше

 <script type="text/javascript">
       if (!window.slider) var slider = {};
        slider.data = [
           <% foreach (var item in Model) { %>
                 { "id": "slide-img-1" },
            <%} %>
            ];
   </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...