我在MVC4中创建了一个简单的表单,要求用户选择他们想要导出数据的时间段。
我的模特:
public class ExportData
{
public DateTime PeriodStartDate { get; set; }
public DateTime? PeriodEndDate { get; set; }
}
我的控制器:
[HttpGet]
public ActionResult Index()
{
ExportData model = new ExportData();
model.PeriodStartDate = DateTime.Today.AddDays(-1);
model.PeriodEndDate = null;
return View(model);
}
[HttpPost]
public ActionResult Index(ExportData model)
{
DateTime startDate = model.PeriodStartDate;
DateTime? endDate = model.PeriodEndDate;
return View("Index");
}
我的观点:
@model Models.ExportData
@using (Html.BeginForm("Index", "Data"))
{
<h2>Export Data</h2>
<div>Please select the period you want to export data for.</div>
<table>
<tr>
<td>
Start Date:
</td>
<td>
@Html.TextBoxFor(model => model.PeriodStartDate, "{0:dd/MM/yyyy}", new { @class = "date-picker" })
</td>
</tr>
<tr>
<td>End Date:</td>
<td>@Html.TextBoxFor(model => model.PeriodEndDate, "{0:dd/MM/yyyy}", new { @class = "date-picker" })
</td>
</tr>
</table>
<input type="submit" value="Export" />
}
但是当我提交表单时,传回控制器的模型为空(日期值为01/01/0001)。
这可能是愚蠢的事,但对于我的生活,我无法看到我做错了什么?
编辑 - 添加了接收控制器方法