在asp.net mvc中使用jQuery日期选择器时出现的问题

在asp.net mvc中使用jQuery日期选择器时出现的问题,jquery,asp.net,asp.net-mvc,jquery-ui-datepicker,Jquery,Asp.net,Asp.net Mvc,Jquery Ui Datepicker,我想将Jquery日期选择器添加到创建时间表单中。我找不到日期选择器,也找不到选择按钮。请帮助将日期选择器与jquery一起使用 我希望在用户单击表单TimeofCreation时显示日期日历 捐赠者类别代码如下 public class Donor { [Key] public int Id { get; set; } public string FullName { get; set; } public int PhoneNumber {

我想将Jquery日期选择器添加到创建时间表单中。我找不到日期选择器,也找不到选择按钮。请帮助将日期选择器与jquery一起使用

我希望在用户单击表单TimeofCreation时显示日期日历

捐赠者类别代码如下

   public class Donor
   {
      [Key]
     public int Id { get; set; }
     public string FullName { get; set; }
     public int PhoneNumber { get; set; }
     public DateTime TimeofCreation { get; set; }
     public string Emergency { get; set; }
     public string Address { get; set; }
     public BloodType BloodList    { get; set; }
     public string BagsNumber { get; set; }
     public DateTime LastTimeDonation { get; set; }

   }
我的视图代码如下

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

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

        </div>


@section Scripts {
    <script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
    <script src="~/Scripts/jquery-3.3.1.min.js"></script>

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryui")


    <script type="text/javascript">
         <script>

    $('.datepicker').datepicker({
        dateFormat: "dd/M/yy",
        changeMonth: true,
        changeYear: true,
        yearRange: "-60:+0"
    });
</script>
    </script>

}
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
@LabelFor(model=>model.TimeofCreation,htmlAttributes:new{
@class=“控制标签col-md-2”})
@EditorFor(model=>model.TimeofCreation,new{
htmlAttributes=new{@class=“datepicker”})
@Html.ValidationMessageFor(model=>model.TimeofCreation,”,新建
{@class=“text danger”})
@节脚本{
@Scripts.Render(“~/bundles/jquery”)
@Scripts.Render(“~/bundles/jqueryui”)
$('.datepicker').datepicker({
日期格式:“年月日”,
变化月:对,
变化年:是的,
年份范围:“-60:+0”
});
}

看起来您正试图将日期选择器应用于输入[type=datetime],但我在表单组中没有看到

尝试将其链接到类,如下所示:

$('.datepicker').datepicker({
日期格式:“年月日”,
变化月:对,
变化年:是的,
年份范围:“-60:+0”
});

这里的问题是您没有添加
jquery ui.css
文件,其他问题是您多次上传了
jquery
jquery ui
js文件。可以使用外部脚本js文件,也可以使用bundle

而且,外部脚本文件的顺序也错误,应该是使用
jqueryui
文件后的第一个
jquery

<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
之后,您可以看到您的
日期选择器

更改后的代码看起来像

@model MVC5.Models.Donor
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    @using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()

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

        </div>
    }

    @section Scripts {
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/assets/plugins/jquery-ui/jquery-ui.min.js"></script>
        <script type="text/javascript">

            $('.datepicker').datepicker({
                dateFormat: "dd/M/yy",
                changeMonth: true,
                changeYear: true,
                yearRange: "-60:+0"
            });
        </script>
    }
@model MVC5.Models.provider
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
@LabelFor(model=>model.TimeofCreation,htmlAttributes:new{@class=“controllabel col-md-2”})
@EditorFor(model=>model.TimeofCreation,new{htmlAttributes=new{@class=“datepicker”})
@Html.ValidationMessageFor(model=>model.TimeofCreation,“,new{@class=“text danger”})
}
@节脚本{
$('.datepicker').datepicker({
日期格式:“年月日”,
变化月:对,
变化年:是的,
年份范围:“-60:+0”
});
}


我希望这会对您有所帮助。如果您需要更多信息,请告诉我。

我仍然看不到datepicker。如果模型中的属性是datetime,我看到Html.EditorFor的输出将创建一个输入[type=datetime]。本文介绍:您是否使用脚本标记和
@Scripts.Render()注册了两次jQuery
?是的,可能是我没有包括jquery properlyDepending您的脚本包中发生了什么可能是问题所在。我会删除脚本标记或调用以呈现这些包。如果发现任何错误,请检查您的浏览器控制台