Я хотел бы отправить динамическую c таблицу обратно в контроллер, используя его модель. Следующая ситуация. В представлении я создаю таблицу с javascript, которая позволяет пользователям вставлять разные значения. Эти значения выбираются из предопределенных комбинированных списков:
$(document).ready(function () {
$('#btn_insert').on('click', function ()
var table=document.getElementById("table_computerimport");
var table_len=(table.rows.length)-1;
var row = table.insertRow(table_len).outerHTML="<tr id='row"+table_len+"'><td id='computername_row"+table_len+"'>"+computername+"</td><td id='uuid_row"+table_len+"'>"+"HERE UUID"+"</td><td id='collection_row"+table_len+"'>"+" HERE Collection Name"+"</td><td><input type='button' value='Delete' class='delete' onclick='delete_row("+table_len+")'></td></tr>";
});
Это работает нормально, так что, по крайней мере, таблица создается с n записями.
<div>
<button type="button" id="btn_insert" class="btn btn-primary">Insert</button>
<div >
<table class="table" id="table_computerimport">
<thead>
<tr>
<th>Hostname</th>
<th>MacAddress</th>
<th>GUID</th>
</tr>
</thead>
<tr>
</tr>
</table>
</div>
</div>
Эти записи я хотел бы передать обратно контроллеру, используя его модель:
public IEnumerable<ComputerImportModel> TableComputerImport {get; set;}
@model ViewModels.ComputerImportViewModel
Так что я не хочу l oop хотя список объектов и опубликовать sh их в представлении, я хотел бы создать n записей в одном представлении сразу и передать их обратно контроллеру с помощью модели TableComputerImport. Я думаю, что в Javascript я должен сказать что-то вроде этого: input asp -for = "ComputerImport.hostname"
Update, хорошо, я думаю, что "решил" это. Что я сделал, так это то, что я создал массив с javascript из таблицы и передал его ajax контроллеру. Было важно, чтобы массив имел атрибуты имени, как и класс, чтобы я мог использовать этот объект в конструкторе как четко определенный объект.