2013-10-16 87 views
0

我正在嘗試使用表單來允許用戶選擇日期並通過url參數將其傳遞迴控制器。我的意圖是讓表單提交一個看起來像Payroll/Index/id?employeeID =「foo」?的網址DayInWeekInput =「bar」。相反,這會產生網址Payroll/Index/id?所以我顯然做錯了什麼。我怎樣才能做到這一點與表格?如果不可能,你能否解釋一個替代方案?謝謝。MVC 4表單提交不會導致所需的url參數

using (Html.BeginForm("Index", "Payroll", new { id = @ViewBag.SupervisorID, [email protected] }, 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

你停止命名,如果你把名字了它應該爲你

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可能不穩定。

+0

不幸的是,這仍然沒有得到它。希望顯式設置前兩個參數,然後讓日期編輯器指定第三個(DaysInWeekInput)。 – user2886826

+0

看到我上面的編輯 –

+0

我很新的Asp.Net和一般的網頁開發,請耐心等待我。我用