使用C#,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中捕获字段。
答案 0 :(得分:1)
实现这一目标的唯一方法是使用javascript。例如,您可以订阅此表单的submit
事件,然后在提交之前将所有字段克隆到表单中:
$('#formId').submit(function() {
var inputFields = $('#someDivContainingYourInputFields').clone();
$(this).append(inputFields);
});
但更好的方法是简单地组织标记,使输入字段位于表单内。您可以通过将表单定义移到条件之外并使用它包装输入字段来实现。只有提交按钮才能保留在if。
中