我正在使用自定义jQuery 1.10.3主题.我从主题滚筒直接下载,我故意没有改变任何东西.
我创建了一个对话框,我得到一个空的灰色方块,其中关闭图标应为:

我比较了在我的页面上生成的代码:
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
<spanid="ui-id-2" class="ui-dialog-title">Title</span>
<button class="ui-dialog-titlebar-close"></button>
</div>
Run Code Online (Sandbox Code Playgroud)
在Dialog Demo页面上生成的代码:
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
<span id="ui-id-1" class="ui-dialog-title">Basic dialog</span>
<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close" role="button" aria-disabled="false" title="close">
<span class="ui-button-icon-primary ui-icon ui-icon-closethick"></span>
<span class="ui-button-text">close</span>
</button>
</div>
Run Code Online (Sandbox Code Playgroud)
编辑:代码的不同部分是由jQueryUI 生成的,而不是我,所以我不能只是添加span标签而不编辑jqueryui js文件,这似乎是一个糟糕/不必要的选择,以实现正常的功能.
以下是用于生成代码部分的javascript:
this.element.dialog({
appendTo: "#summary_container",
title: this.title(),
closeText: "Close",
width: this.width,
position: {
my: "center top",
at: ("center top+"+(window.innerHeight*.1)),
collision: "none"
},
modal: false,
resizable: false,
draggable: false,
show: "fold",
hide: "fold", …Run Code Online (Sandbox Code Playgroud) 使用时BundleConfig是否可以包含文件夹的所有文件,包括子文件夹的所有文件(及其子文件夹等)?
我发现.IncludeDirectory()但它似乎只包含文件夹本身的文件,而不是子文件夹的文件.
我正在尝试在我的ASP.NET MVC 5应用程序中使用特定的语言环境(es-CL).我有以下几点:
<html lang="es-cl">在BundleConfig.cs中:
bundles.Add(new ScriptBundle("~/bundles/jqueryval")
.Include("~/Scripts/jquery.validate.js")
.Include("~/Scripts/jquery.validate.unobtrusive.js"));
bundles.Add(new ScriptBundle("~/bundles/globalization")
.Include("~/Scripts/globalize/globalize.js")
.Include("~/Scripts/globalize/cultures/globalize.culture.es-CL.js")
.Include("~/Scripts/jquery.validate.globalize.js"));
Run Code Online (Sandbox Code Playgroud)
在适当的观点:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/globalization")
}
Run Code Online (Sandbox Code Playgroud)
但是,生成的源代码如下:
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery.validate.globalize.js"></script>
<script src="/Scripts/globalize/globalize.js"></script>
<script src="/Scripts/globalize/cultures/globalize.culture.es-CL.js"></script>
Run Code Online (Sandbox Code Playgroud)
请注意,jquery.validate.globalize.js脚本被加载之前globalize.js,这不是我想要的.
为什么会这样?是否可以在单个包中依赖包含顺序,或者我是否被迫将此单个脚本放在不同的包中并在我的视图中指定它?
假设我配置了这两个脚本包:
bundles.Add(new ScriptBundle("~/Scripts/Bootstrap").Include(
"~/Content/Scripts/jQuery/jquery-2.1.1.js",
"~/Content/Scripts/Bootstrap/bootstrap.js"));
bundles.Add(new ScriptBundle("~/Scripts/jQuery").Include(
"~/Content/Scripts/jQuery/jquery-2.1.1.js"));
Run Code Online (Sandbox Code Playgroud)
如您所见,~/Scripts/Boostrap使用jQuery JavaScript文件和Bootstrap文件.这是因为Bootstrap需要jQuery才能工作.
另一方面,~/Scripts/jQuery仅由jQuery文件组成.
我希望有两个捆绑包,以防视图只需要jQuery而不是Bootstrap.
但是,我在这里复制代码,我定义了两次 jQuery JavaScript文件路径.
有没有办法告诉~/Scripts/Boostrap捆绑使用或"注入"另一个捆绑?
像这样的东西:
bundles.Add(new ScriptBundle("~/Scripts/Bootstrap").UseBundle("~/Scripts/jQuery").Include(
"~/Content/Scripts/Bootstrap/bootstrap.js"));
Run Code Online (Sandbox Code Playgroud) 我正在开发一个ASP.Net MVC 4应用程序,并使用Bundling和minifiction来呈现样式和脚本文件.
我有一个脚本文件(文件A),在另一个文件(文件B)中调用函数,当我使用
@Scripts.Render()方法时,它在文件B之前link为文件A呈现标记,因此它触发错误并且脚本无法正常工作.
有没有办法强制@Script.Render()以link某种顺序呈现标签而不为每个文件使用单独的包?
编辑
我正在使用IncludeDirectory方法将所有脚本文件包含在该文件夹中
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/js").IncludeDirectory(
"~/Scripts/js",
"*.js"));
}
}
Run Code Online (Sandbox Code Playgroud) asp.net bundle .net-4.0 asp.net-mvc-4 bundling-and-minification
我有一个ASP.NET MVC应用程序,我现在使用SquishIt帮助将我的所有CSS和javascript文件捆绑到从网络服务器下载的单个元素中,以便每次点击我的网站.我知道最近MVC推出了自己的捆绑器.有没有人做过两者之间的比较?某种情况对另一种情况更好吗?或者它们基本相同?使用MVC捆绑包,IIS是否仍需要对站点目录的写访问权限?
您可能会有任何想法和评论.
谢谢.
当我在MVC 4中使用下面的Bundling时,我的应用程序会出现几个JavaScript错误,例如'jQuery undefined'
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
Run Code Online (Sandbox Code Playgroud)
但是,当我使用以下方法时,我的应用程序无需JavaScript错误:
bundles.Add(new ScriptBundle("~/bundles/jquery1").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jquery2").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jquery3").Include(
"~/Scripts/jquery.unobtrusive*"));
bundles.Add(new ScriptBundle("~/bundles/jquery3").Include(
"~/Scripts/jquery.validate*"));
Run Code Online (Sandbox Code Playgroud)
我的问题:问题是什么?
asp.net asp.net-mvc asp.net-mvc-4 bundling-and-minification system.web.optimization
我的项目包含来自NuGet的JQuery.DataTable插件的JS文件.我的项目中也引用了jQuery 2.1.3.
虽然我使用<%:Scripts.Render("~/bundles/jquery") %>jQuery UI 加载jQuery UI + DataTables(它在一个成功的<script>标签中被翻译,但我的Firebug控制台中出现了大量错误)
TypeError: jQuery.fn.dataTable is undefined
else if ( jQuery && !jQuery.fn.dataTable.AutoFill ) {
dataTab...Fill.js (linea 848, col 20)
TypeError: $.fn.dataTable is undefined
$.extend( true, $.fn.dataTable.defaults, {
dataTab...trap.js (riga 2)
TypeError: $.fn.dataTableExt is undefined
$.fn.dataTableExt.oApi.fnColReorder = function ( oSettings, iFrom, iTo )
dataTab...rder.js (riga 110)
TypeError: jQuery.fn.dataTable is undefined
else if ( jQuery && !jQuery.fn.dataTable.ColVis ) {
dataTab...lVis.js (linea 1100, col 20)
TypeError: jQuery.fn.dataTable is …Run Code Online (Sandbox Code Playgroud) asp.net ×5
asp.net-mvc ×5
javascript ×2
.net-4.0 ×1
bundle ×1
bundler ×1
c# ×1
imagebutton ×1
jquery ×1
jquery-ui ×1
squishit ×1