我正在尝试使用表单来允许用户选择日期并通过url参数将其传递回控制器。我的目的是让表单提交一个看起来像Payroll / Index / id?employeeID =“foo”的网址?DayInWeekInput =“bar”。而是生成url Payroll / Index / id?所以我显然做错了什么。如何使用表单执行此操作?如果不可能,你能解释另一种选择吗?感谢。
using (Html.BeginForm("Index", "Payroll", new { id = @ViewBag.SupervisorID, employeeID=@ViewBag.EmployeeID }, FormMethod.Get))
{
@*@Html.AntiForgeryToken()*@
@Html.ValidationSummary(true)
<div class="editor-field">
<input type="date" id="DayInWeekInput" value="@string.Format("{0:yyyy-MM-dd}", Model.SpecifiedWeekStart)" />
<input type="submit" value="Go" />
</div>
}
答案 0 :(得分:0)
你停止了命名,如果你保持名字,它应该适合你
using (Html.BeginForm("Index", "Payroll", new { id = @ViewBag.SupervisorID, EmployeeID = @ViewBag.EmployeeID, DaysInWeekInput = "bar" }, FormMethod.Get))
由于这对你不起作用,我会尝试下一个ajax调用
$('.btnSubmit').on('click', function(){
$.ajax({
url: '@Url.Action( "Index", "Payroll" )',
data: {
id: @ViewBag.SupervisorID,
EmployeeID: @ViewBag.EmployeeID
},
success: function (_result) {
if (_result.Success) {
}
}
});
});
我还建议将你的id放在隐藏的字段中。 Viewbag可能不稳定。