我试图在MVC中使用此日期时间选择器,它已经用了几个小时,但没有显示选择器屏幕,所以我也尝试了这个
BundleConfig.cs
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/moment.js",
"~/Scripts/bootstrap.js",
"~/Scripts/bootstrap-datetimepicker.min.js"
));
// other bundles here
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/site.css",
"~/Content/bootstrap.css",
"~/Content/bootstrap-datetimepicker.min.css"
));
// other bundles here
我的看法:
<script src="~/Scripts/jquery-1.9.1.js"></script>
<script src="~/Scripts/moment.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/bootstrap-datetimepicker.min.js"></script>
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<link href="~/Content/bootstrap-datetimepicker.min.css" rel="stylesheet" />
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker1'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<script type="text/javascript">
$(function () {
$('#datetimepicker1').datetimepicker();
});
</script>
</div>
</div>
_布局:
<!DOCTYPE html>
<html>
<head>
@Scripts.Render("~/bundles/modernizr")
@Styles.Render("~/css/boostrap.css")
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
</head>
<body>
<div>
// here other divs
@RenderBody()
</div>
<script src="js/jquery.js"></script>
<script src="js/boostrap.min.js"></script>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
</html>
预期产量
我无法弄清楚我在做什么错?,任何帮助将不胜感激。
您多次包含jQuery。您的捆绑包已经包含了它,因此您可以在布局中删除此行:
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
从您的角度来看这些行:
<script src="~/Scripts/jquery-1.9.1.js"></script>
<script src="~/Scripts/moment.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/bootstrap-datetimepicker.min.js"></script>
布局中的这一行
@Scripts.Render("~/bundles/jquery")
正在为您完成所有操作,因为您已将这些脚本添加到该捆绑包中。
多次包含同一脚本会对性能产生负面影响,但通常不会阻止代码正常工作。但是,在这种情况下,您所包含的jQuery的不同版本都是不同的版本。我会检查您Scripts
文件夹中的内容,看看是否是最新的。
顺便说一句,将样式(例如CSS)放在页面顶部,将脚本放在底部,也被认为是一种好习惯,因为那样的话,浏览器将通过样式正确地加载页面,而不会因试图加载而减慢速度脚本执行到一半(如果脚本有问题,则页面仍会加载)。
作为最终不谈,你也像你是一个有点困惑之间的区别.min.js
和.js
(我从事实,你有时会使用外插min
版,有时不知道;!如果你知道这一切已经请原谅我) 。这些.min.js
文件是可以发送到服务器的最小化版本(变量名越短越好,注释已删除,空格减少到最小)。您可能已经有这样的东西
#if DEBUG
BundleTable.EnableOptimizations = false;
#else
// note: overrides compilation debug="true" in Web.config
BundleTable.EnableOptimizations = true;
#endif
在您的Bundle.Config文件中。如果不是这样,则添加起来很方便,因为这意味着发行版具有最佳性能(.min.js
文件),而调试版更易于理解(普通.js
文件)以帮助您调试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句