У меня есть интерфейс для заполнения полей, где вы можете добавлять поля и удалять их:
<form role="form" class="form-horizontal">
<div class="form-group bg-light text-center pt-3 pb-3">
<b><h3>Create Form</h3></b>
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="HeadField">
</div>
<div class="form-group">
<textarea class="form-control" rows="5" placeholder="Description Field"></textarea><br>
</div>
<h5>Fields:</h5><br>
<div class="border border-secondary rounded p-3" id="container">
<div class="field">
<div class="form-row">
<div class="form-group col-md-5">
<input class="form-control form-control-inline" placeholder="Head of field">
</div>
<select class="selectBox form-control col-md-6 ml-4" onchange="addElement(this);">
<option value='textarea'>Typefield1</option>
<option value='textarea'>Typefield2</option>
<option value='textarea'>Typefield3</option>
<option value='input'>Typefield4</option>
<option value='input'>Typefield5</option>
</select>
<div class="form-group">
<input type="button" class="btn btn-default btn-xs col-md-1 ml-3" value="X" onclick="removeField(this);"><br>
</div>
</div>
<div class='content'>
</div>
<div class="form-group">
<div class="form-check text-right">
<input class="form-check-input" type="checkbox" required/>Require<br>
</div>
</div>
</div>
</div>
<div class="form-group text-right mt-3">
<input type="button" class="btn btn-success" value="addField" onclick="addField(this);"><br><br>
</div>
<div class="form-group mb-3">
<input type="submit" class="btn btn-success" value="Save">
<input type="button" class="btn btn-danger" value="Close">
</div>
</form>
Мне нужно использовать модель ввода для отправки данных в контроллер:
[HttpPost]
public ActionResult EditForm(Model model)
{
//fill model in BD using Linq or ather...do something
}
Как должна выглядеть модель ввода в моем случае?Не уверен, что это называется привязкой модели, но я новичок в asp net mvc.addField:
function addField(btn) {
var form = btn.closest("form");
if (form) {
var div = form.querySelector(".field");
if (div) {
var divCreated = document.createElement("div");
divCreated.className = div.className;
divCreated.innerHTML = div.innerHTML;
document.getElementById('container').appendChild(divCreated);
}
}
}
И функция addElement () добавляет элемент в div с id = "content".