使用 ASP.NET MVC C# 和引导日期选择器将不起作用

Posted

技术标签:

【中文标题】使用 ASP.NET MVC C# 和引导日期选择器将不起作用【英文标题】:Using ASP.NET MVC C# and the bootstrap datepicker won't function 【发布时间】:2018-06-24 21:13:43 【问题描述】:

这是 CShtml 代码。在普通 HTML 中放置带有脚本的相同代码时 记录它打开/运行,但是在 ASP.NET MVC 中使用 CSHTML 时 C# 在浏览器中给出错误,指示 $() 不是函数。 (引导日期选择器“#birthdate”不起作用)... 有什么建议吗?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="~/Scripts/bootstrap.css" rel="stylesheet" />
    <!--<link href="~/Scripts/bootstrap.min.css" rel="stylesheet" />-->
    <link href="~/Scripts/daterangepicker.css" rel="stylesheet" />
    <!-- jQuery -->
    <script src="~/Scripts/jquery.min.js"></script>
    <script src="~/Scripts/daterangepicker.js"></script>
    <script src="~/Scripts/moment.min.js"></script>
    <!---<script src="~/Scripts/bootstrap.min.js"></script>-->
    <script src="~/Scripts/bootstrap.js"></script>
    <script src="~/Scripts/bootstrap-datepicker.min.js"></script>
    <link href="~/Scripts/bootstrap-datepicker3.standalone.css" rel="stylesheet"/>
    <script type="text/javascript">
        $(document).ready(function () 
            $("#birthdate").datepicker(
                autoclose: true,
                format: 'yyyy-mm-dd',
                todayHighlight: true,
                clearBtn: true,
                orientation: 'bottom'
            );
        );
    </script>
</head>   
<body>
    <div class="form-group">
        <label for="usr">Birthdate:</label>
        <div class='input-group date' id='birthdate'>
            <input type='text' class="form-control" />
            <span class="input-group-addon">
                <span class="glyphicon glyphicon-calendar"></span>
            </span>
        </div>
    </div>
</body>
</html>

【问题讨论】:

我猜,这不是你的问题的原因,但你有&lt;/body&gt; 而不是&lt;body&gt;&lt;/head&gt; 之后。只是想指出这一点。 Javascript 或 CSS 代码与 ASP.NET MVC 或 C# 无关。日期选择器确实有效。你检查浏览器的开发者工具和控制台是否有错误?您可能指向 jQuery 的错误位置。 $()not a function 表示未加载声明此函数的库 jQuery 感谢您一直在编辑内容以使网站能够发布,我没有检查...您认为 JavaScript 中的 $ 可能有问题吗?跨度> ASP.NET MVC 使用开箱即用的引导程序和 jQuery。创建一个新的 ASP.NET MVC 项目并检查脚本和样式表是如何加载的。然后将这些标签复制到您自己的项目中。该消息意味着您的脚本运行之前 jQuery 有机会加载和注册$() 函数 【参考方案1】:

您好,这里是解决此问题的步骤。

第 1 步:

假设这是你的 _layout.cshtml,安排如下脚本: [_layout.cshtml]

<!DOCTYPE html>
<html>
<head>
    <link href="~/Scripts/bootstrap.css" rel="stylesheet" />
    <!--<link href="~/Scripts/bootstrap.min.css" rel="stylesheet" />-->
    <link href="~/Scripts/daterangepicker.css" rel="stylesheet" />

    <script src="~/Scripts/jquery.min.js"></script>
    <script src="~/Scripts/bootstrap.js"></script>
    <script src="~/Scripts/daterangepicker.js"></script>
    <script src="~/Scripts/moment.min.js"></script>
    <script src="~/Scripts/bootstrap-datepicker.min.js"></script>
    <link href="~/Scripts/bootstrap-datepicker3.standalone.css" rel="stylesheet"/>
</head>
<body>
@RenderBody()
@RenderSection("scripts", required: false)
</body>
</html>

现在这是您使用日期时间选择器的视图。

theView.cshtml

<div>
    <div class="form-group">
        <label for="usr">Birthdate:</label>
        <div class='input-group date' id='birthdate'>
            <input type='text' class="form-control" />
            <span class="input-group-addon">
                <span class="glyphicon glyphicon-calendar"></span>
            </span>
        </div>
    </div>
</div>
@section Scripts 
    <script type="text/javascript">
        $(document).ready(function () 
            $("#birthdate").datepicker(
                autoclose: true,
                format: 'yyyy-mm-dd',
                todayHighlight: true,
                clearBtn: true,
                orientation: 'bottom'
            );
        );
    </script>

希望这会奏效。

【讨论】:

以上是关于使用 ASP.NET MVC C# 和引导日期选择器将不起作用的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC 验证器无法识别引导程序 DatePicker 格式

使用引导日期选择器在 ASP.net 核心中发布本地化的日期格式

使用日期时间选择器进行日期和时间验证 (ASP.Net MVC Core v1.1)

以不同语言显示引导日期选择器日期,然后在 asp.net razor 视图中以英文提交日期

ASP .NET MVC 5 日期和时间选择器

ASP.NET MVC - jquery 日期选择器