Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Передача параметров из View в javascript


Автор: Polion 8.6.2013, 11:45
День добрый подскажите как передать данные из View в javascript. Через ViewBag передаю List<> из контроллера во View там его перебираю в foreach
Код

 <table style='font-size: 8pt' ><tr><th><b>ID</b></th>
                <th><b>Производитель</b></th>
                <th><b>Наименование</b></th>
                <th><b>Цена</b></th>
                <th><b>Количество</b></th>
                <th><b>Стоимость</b></th></tr>
            @foreach (OrderItem orderItems in ViewBag.meny_data)
            {

                <tr><td> @orderItems.ID &nbsp;</td>
                          <td>@orderItems.Manufacturer &nbsp;</td>
                          <td>@orderItems.Name  &nbsp;</td>
                          <td>@orderItems.Price &nbsp;</td>
                          <td>@orderItems.Number &nbsp;</td>
                          <td>@orderItems.Price * @orderItems.Number &nbsp;</td></tr>
             }
             </table>
ViewBag.odrerID


а вот как теперь передать значение наименования в javascript
Код

<script type="text/javascript">
    sale.setTotalCost('Общая стоимость ');
    sale.setOrderID('orderID');
    sale.setProductID('test product1;product2;product3');
</script>

Автор: boevik 8.6.2013, 11:55
Просто прописывается в коде на подобии как ты сделал в таблице:
К примеру:
Код

<script type="text/javascript">
    sale.setOrderID(@orderID);
</script>
 


Автор: Polion 8.6.2013, 19:44
Спасибо опробую.

Автор: Polion 9.6.2013, 07:03
почему то проблема с   alert(@productName); пишет SCRIPT1002: Синтаксическая ошибка.
 @foreach (OrderItem orderItems in ViewBag.orderItems)
        {
            
            <tr><td>@orderItems.ID &nbsp;</td>
                <td>@orderItems.Manufacturer &nbsp;</td>
                <td>@orderItems.Name  &nbsp;</td>
                <td>@orderItems.Price &nbsp;</td>
                <td>@orderItems.Number &nbsp;</td>
            </tr>
                coast = (decimal) (orderItems.Price * orderItems.Number);
                productName += orderItems.Name + ", ";
                totals +=  coast;
        }

    <script type="text/javascript">
        alert(@ViewBag.orderID);
        alert(@totals);
        alert(@productName);
    </script>

Автор: Экскалупатор 9.6.2013, 11:09
кавычки наверное надо, в остальных случаях, судя по названию, передаются числа

Автор: boevik 9.6.2013, 11:15
Надо поставить кавычки, чтоб получить правильный javascript syntax
Код

alert('@ViewBag.orderID');

Автор: Polion 9.6.2013, 13:53
Век живи, век учись. Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)