jquery - ASP.NET MVC 4 不支持 jquery datepicker

标签 jquery asp.net jquery-ui asp.net-mvc-4

我是 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; }

}

最佳答案

您需要告诉 DatePicker 您没有使用月份第一个日期格式:

$.datepicker.setDefaults({
    dateFormat: "dd/mm/yy"
});

但是,这可能不是您问题的主要部分(并且根据您的浏览器文化,日期选择器可能已经使用了第一天日期格式)。

第一个日期格式和 jQuery validation 也存在问题。 ,以及MVC binding 。这是我坚持使用 year first date format (yyyy-mm-dd) 的主要原因之一,因为它被所有不同的库正确解析。

关于jquery - ASP.NET MVC 4 不支持 jquery datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16088241/

相关文章:

javascript - 使用 JQuery 删除监听器?应该还是不应该?

jQuery 无法在 Chrome 的 facebook 应用程序中工作

c# - 在 ASP.NET 中 ConfigureAwait(false) 的行为是什么?

asp.net - IIS中的Web配置错误

jquery ui 选项卡,带有上一个/下一个按钮,位于页面顶部

javascript - 以动态/编程方式将项目添加到 jQuery-ui 可排序

javascript - 自动完成 json 数据

php - 进行 AJAX 调用以更新数据库 onChange of a textarea

javascript - JQuery: Cluetip questions - 关闭提示和最大高度

c# - 使用 owin 和 Nancy 进行 Oauth 身份验证