laimas,
у меня работала отправка формы, когда я делал так: Html.EditorFor(model=>model.detail[0].details_name) Html.EditorFor(model=>model.detail[0].details_value) но Razor нельзя добавлять динамически |
Я не знаю ASP .NET на таком уровне, чтобы оказывать какую либо существенную помощь кому либо. :) И к JS это не имеет отношения, нужно было размещать тему в другом разделе, вполне возможно что кто-то и занимается им серьезно.
|
Цитата:
<input class="copy-input" type="text" name="details_name[]" /> <input class="copy-input" type="text" name="details_value[]" /> |
Цитата:
|
Цитата:
if (model.detail != null) { foreach (var details in model.detail) чем в данном случае является model.detail? Это должна быть коллекция элементов именно с именем details_name (при этом где details_value?). |
laimas,
у меня есть общая модель для таблиц Товара, Характеристик и Изображения. model.detail это я так обращаюсь к модели details. То есть мне на сервер приходит общая модель, содержащая в себе модель Товара(название, категория, бренд и т.д.), модель Характеристик(коллекция {название+значение}) и Изображение(хранится в двоичных данных). После того как эта модель пришла, я по очереди "вытягиваю" из нее эти три модели и добавляю в бд. |
И что возвращает модель? Проверить то это можно. Вы ведь пытаетесь обойти объект model.detail циклом чтобы получить его элементы. Так что вы получаете?
|
laimas,
да можно, я прикреплял в каком-то посте скрин. Там null. part приходит нормально, image я не загружаю, а вот detail не хочет и все =/ ![]() |
Цитата:
|
laimas,
пока без Ajax <script> var $myForm=$("#myForm"); $(".plus").off("click").on("click",function(){ $(".details").append('<div class="details-part"><input class="details_name" type="text" /><input class="details_value" type="text" /></div>') }); $("#save-form").off("click").on("click",function(){ var detailList=[]; $myForm.find(".details-part").each(function(){ detailList.push({ details_value:$(this).find(".details_value").val(), details_name:$(this).find(".details_name").val() }) }); $myForm.find('[name="details"]').val(JSON.stringify(detailList)) $myForm.submit() }); </script> |
Часовой пояс GMT +3, время: 04:22. |