Asp.net绑定破坏了jquery用户界面
当我以发布模式发布我的应用程序时,日期选择器停止工作 我很确定这和捆绑有关,但我不知道是什么 Jquery和jQueryUI都以正确的顺序加载,并且只加载一次 此外,Asp.net绑定破坏了jquery用户界面,jquery,asp.net,jquery-ui,bundling-and-minification,Jquery,Asp.net,Jquery Ui,Bundling And Minification,当我以发布模式发布我的应用程序时,日期选择器停止工作 我很确定这和捆绑有关,但我不知道是什么 Jquery和jQueryUI都以正确的顺序加载,并且只加载一次 此外,$.ui已初始化 如果我尝试将google chrome控制台中的日期选择器绑定到 $("#birthdate").datepicker(); 没有错误,但是datepicker没有绑定,并且输入上没有hasDatepicker类 如果我尝试 $("#birthdate").datepicker("show"); 我有以下错误
$.ui
已初始化
如果我尝试将google chrome控制台中的日期选择器绑定到
$("#birthdate").datepicker();
没有错误,但是datepicker没有绑定,并且输入上没有hasDatepicker
类
如果我尝试
$("#birthdate").datepicker("show");
我有以下错误
未捕获的TypeError:无法读取未定义的属性“apply”
因为日期选择器未初始化
这是密码
<input class="form-control default-date-picker" data-msg-date="The field Birth Date must be a date." data-msg-required="The Birth Date field is required." data-rule-date="true" data-rule-required="true" id="birthdate" name="BirthDate" type="text" value="0001-01-01 12:00:00 AM" aria-required="true">
<script type='text/javascript'>
$(function () {
$("#birthdate").datepicker();
});
</script>
捆绑码
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery.unobtrusive-ajax.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-1.10.4.js",
"~/Scripts/jquery-ui-i18n.js"));
脚本在_layout.cs的
部分中呈现
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
这总是发生在我身上。我不确定这是否是同一件事 确保以下代码未执行两次,或在Razor页面中搜索字符串以查找replicate@Script.Render
@Scripts.Render("~/bundles/jquery")
可能是
$(function(){//your code})对不起,我忘了在我的问题中包括这个。我的代码已经在脚本标记中。谢谢。以下是调试方法:在浏览器中按F12键,打开“网络”选项卡,重新创建错误,然后在浏览器中单击下载的文件列表。如果看到JQuery已下载,请单击console选项卡并验证控制台没有抛出错误。把你所看到的告诉我们,我们会从那里开始。关于Jquery和MVC的一个令人恼火的事情是,MVC项目默认加载Jquery和Javascript的特定版本,如果您使用NUGET获取某些东西,可能会出现版本冲突。您也不希望捆绑min文件。正如我提到的,控制台中没有错误,我的捆绑包中没有.min。我真的搞不懂这个问题。只有当我有这个问题的时候。而jquery和jqueryui被加载,因为$.ui返回了一些东西。谢谢你,你能发布你的捆绑代码吗?您在页面的哪个位置调用Scripts.Render()(顶部还是底部)?不幸的是,我至少检查了5次两次加载的任何文件,但都找不到。谢谢。请检查@Scripts.Render是否同时位于视图的顶部和底部。谢谢。根据您的回答,我在包中做了一些清理,发现有一个旧的fuelux js文件。我曾经将fuelux用于我的日期选择器,因此此文件可能与jquery ui冲突。很高兴提供帮助。我在stackoverflow上已经有一段时间了,因为我自己的字典问题,我碰到了你的问题。干杯
@Scripts.Render("~/bundles/jquery")