Asp.net mvc 5 我的模型中的日期时间选择器不工作

Asp.net mvc 5 我的模型中的日期时间选择器不工作,asp.net-mvc-5,Asp.net Mvc 5,日期时间选择器没有显示在视图中,我无法为ReturnDate选择日期。它不会给我从日历日期选择器中选择的小箭头,并且它已经填充了值。它只显示一个文本框,其中包含:“0001/01/01 12:00:00 AM” 在我的模型中,这是我的返回日期字段: [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]

日期时间选择器没有显示在视图中,我无法为ReturnDate选择日期。它不会给我从日历日期选择器中选择的小箭头,并且它已经填充了值。它只显示一个文本框,其中包含:“0001/01/01 12:00:00 AM”

在我的模型中,这是我的返回日期字段:

[DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
        public DateTime? ReturnedDate { get; set; }
我的看法是:

     <div class="form-group">
                @Html.LabelFor(model => model.ReturnedDate, new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.ReturnedDate)
                    @Html.ValidationMessageFor(model => model.ReturnedDate)
                </div>
            </div>
使用jquery ui这是我的新视图:

@model FCproject.Models.Purchase

@{
    ViewBag.Title = "Create";
}

<script src="~/Scripts/jquery-ui-1.11.4.min.js"></script>

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()


        <h4>Purchase</h4>
        <hr />
        @Html.ValidationSummary(true)

        <div class="form-group">
            @Html.LabelFor(model => model.ReturnedDate, new { @class = "control-label col-md-2", @id = "datepicker" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.ReturnedDate)
                @Html.ValidationMessageFor(model => model.ReturnedDate)
            </div>
        </div>

        <script>
            $(function () {
                $("#datepicker").datepicker();
            });
        </script>

}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

但它仍然显示一个没有日期选择器的文本框。

如果你在IE上运行该功能不起作用,chrome在ui上的效果最好

但如果仍然存在问题,我建议您使用jquery datepicker:

您的视图已修改:

    <div class="form-group">
                @Html.LabelFor(model => model.ReturnedDate, new { @class ="control-label col-md-2", @id = "datepicker" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.ReturnedDate)
                    @Html.ValidationMessageFor(model => model.ReturnedDate)
                </div>
            </div>

   <script>
      $(function() {
        $( "#datepicker" ).datepicker();
      });
    </script>
或参观

别忘了参考你的ui脚本,例如:根据你的脚本版本

<script src="~/Scripts/jquery-ui-1.11.4.min.js"></script>

只有Chrome支持我更新了我的问题。请帮助现在看起来您正在使用jquery datepicker插件您的[DataTypeDataType.Date]和[DisplayFormatApplyFormatEditMode=true]属性在这种情况下并不是必需的$datepicker.datepicker;将不工作,因为您没有id为datepicker的元素。它需要是$ReturnedDate.datepicker;谢谢,我是MVC新手,所以我不熟悉jquery脚本的引用,我应该把引用放在哪里?它只会出现在查看页面的顶部吗?好的,首先要做的事情!1.你安装了jQueryUI插件吗?如果不转到,那么它将向您展示如何安装插件,然后您将查找jqueryui。2.完成go脚本文件夹后,您将看到“jquery ui-*版本-”,然后将其拖动到视图顶部。这应该就够了。很抱歉回复晚了,好的,试试下面的方法。将脚本从Begin表单中删除,这样它就可以正确初始化,@Scripts.Render~/bundles/jqueryval将其放到视图的顶部,最后您不需要在模型上使用[DatatypeDatatype.Date]。正确安排脚本和脚本引用非常重要。希望这能奏效。