0

フォームを使用して、ユーザーが日付を選択し、それを url パラメーターを介してコントローラーに渡すことができるようにしようとしています。私の意図は、フォームに Payroll/Index/id?employeeID="foo"?DayInWeekInput="bar" のような URL を送信させることです。代わりに、Payroll/Index/id? という URL が生成されます。だから私は明らかに何か間違ったことをしています。フォームでこれを行うにはどうすればよいですか? それが不可能な場合、代替案を説明していただけますか? ありがとう。

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>                       
}
4

1 に答える 1

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 を隠しフィールドに入れることもお勧めします。ビューバッグが不安定になることがあります。

于 2013-10-16T14:59:47.167 に答える