我是 asp.net jquery 和 html5 的初学者,我正在开发一个 asp.net mvc 4 站点,其中有一个包含两个日期字段的表单。我不想手动插入日期,所以我尝试使用这个解决方案来实现一个简单的日期选择器:
<fieldset>
<legend>RangeDateViewModel</legend>
<div class="editor-label">
Start Date
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.StartDate, new{ @class = "date" })
@Html.ValidationMessageFor(model => model.StartDate)
</div>
<div class="editor-label">
End Date
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.EndDate, new{ @class = "date" })
@Html.ValidationMessageFor(model => model.EndDate)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/jqueryui")
@Styles.Render("~/Content/themes/base/css")
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$(".date").datepicker();
});
</script>
}
代码运行良好,但如果我选择从每月 13 日到 30/31 日的日期,我总是会收到相同的警告:“字段 StartDate 必须是日期。” 和“字段 EndDate 必须是日期。”
编辑:我按要求添加了我的 ViewModel:
public class RangeDateViewModel
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}