MVC 4表单提交不会产生所需的url参数

时间:2013-10-16 14:55:02

标签: c# asp.net-mvc-4

我正在尝试使用表单来允许用户选择日期并通过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>                       
}

1 个答案:

答案 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可能不稳定。