Работает на С#, Visual Studio 2012, MVC4 EF.
У меня есть мнение, что, когда условие выполнено, я хочу быть формой. Как мне это сделать без необходимости иметь один раздел с элементами страницы в форме и другой раздел с теми же элементами страницы, что и в форме?
Вот мой код для условия:
@if (this.Model.ItemRequestStatusId == Portal.BusinessModel.Entities.ItemRequestStatusId.VendorRepReview
&& this.User.IsInRole("Vendor Rep"))
{
using (Html.BeginForm("Edit", "ItemRequest", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<button id="btn-data-integrity-final-review" class="btn btn-warning pull-right" type="submit">Vendor Review Complete</button>
}
}
else
{
@Html.ActionLink("Edit this request", "Edit", new { id = this.Model.Id }, new { @class = "btn btn-default pull-right" })
}
а затем ниже этого условия, у меня есть элементы страницы/поля. Но в настоящее время они не подпадают под форму (только кнопка отправки находится в форме). Я хочу захватить поля в POST.
Единственный способ добиться этого - использовать javascript. Например, вы можете подписаться на событие submit
этой формы и затем клонировать все поля в форму перед отправкой:
$('#formId').submit(function() {
var inputFields = $('#someDivContainingYourInputFields').clone();
$(this).append(inputFields);
});
Но лучшим подходом было бы просто организовать разметку таким образом, чтобы поля ввода находились внутри формы. Вы могли бы добиться этого, переместив определение формы вне условия и обернув его полями ввода. Только кнопка отправки может оставаться внутри if.