我是一個asp.net jquery和html5的初學者,我正在開發一個asp.net mvc 4網站,我有一個帶有兩個日期字段的窗體。我不想手動插入日期,所以我試圖用這個解決方案來實現一個簡單的日期選擇器:ASP.NET MVC 4不工作與jQuery的日期選擇器
<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必須是日期。」
編輯: 添加我的視圖模型作爲問:
public class RangeDateViewModel
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
根據HTTP方法的不同,反序列化存在差異。如果你正在使用GET,一個活頁夾將使用_invariant culture_來綁定參數,並且如果你正在使用POST,活頁夾將使用_current culture_ – hazzik
我沒有看到你的評論@hazzik,對不起。我使用POST。好的,我該怎麼做才能解決這個問題? :) – antedesk
您需要設置日期格式,這將反映您在ASP.NET應用程序中的當前文化,如答案中所述。 – hazzik