2014-01-23 42 views
3

我是新来这个概念,这是我实现与(捆绑&缩小)捆绑和微小不应用使用Asp.net 4.0 CSS和JS C#

只是我试图与测试优化概念的第一个项目simple JS & CSS

Test.aspx的

<html> 
<%@ import namespace="System.Web.Optimization" %> 
<html> 
<head runat="server"> 
    <%: Scripts.Render("~/bundles/js") %> 
    <%: Styles.Render("~/bundles/css") %> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <button id="tests"> 
      testing</button> 
    </div> 
    </form> 
</body> 
</html> 

Global.asax中看起来像这样

protected void Application_Start(object sender, EventArgs e) 
{ 
    RegisterBundles(BundleTable.Bundles); 
} 

public static void RegisterBundles(BundleCollection bundles) 
{ 
    bundles.Add(new ScriptBundle("~/bundles/js").Include(
    "~/script/jquery-1.8.2.min.js", 
    "~/script/s.js")); 

    bundles.Add(new StyleBundle("~/bundles/css").Include(
    "~/css/master.css")); 

    BundleTable.EnableOptimizations = true; 
} 


项目结构看起来像这样

enter image description here


浏览器查看 enter image description here

文件被捆绑,但在CSS中我有一些风格的渲染网页,它没有出现在这个,

样品如jQuery文件还

为ABT这个职位的详细信息,请查看这个.. Click here

你可以指导我实现这个...

+0

你能告诉我们你的aspx代码吗?在更好地检查屏幕截图之后,看起来好像您实际上捆绑了一些资源,但跨多个捆绑包。 – Nico

+0

我无法在此处应用.aspx代码...此处它不接受此处的html代码... aspx页面检查此链接http://forums.asp.net/t/1963043.aspx?Bundling+minification+not+applying+css+js+using+Asp+net+4+0+C+ –

+0

我添加了你的代码。你可以发送一个样本的任何捆绑文件是从'js?v =' – Nico

回答

4

你的捆绑工作,问题是你的CSS不捆绑工作。

更改样式表包名称是:

bundles.Add(new StyleBundle("~/css/allcss").Include("~/css/master.css")); 

这应该解决您的问题。

P.S.如果您将css文件保存在多个文件夹中,则为每个文件夹创建一个包。您可以使用IncludeFolder方法使您的工作更轻松。

+0

不仅css,即使jquery也不工作...我需要在我的项目“〜/ css/allcss” –

+0

你能否给我提供一个示例来实现这个功能.... –

+0

不,你不需要创建文件夹。实际上删除已经创建的文件夹 – th1rdey3

2

·普拉萨德·拉贾,

调试时,或者当你的web.config的设置为

<compilation debug="true" ..>

脚本捆绑和缩小被禁用。同样,如果您设置EnableOptimizations = false也会禁用萌芽和缩小,无论debug=true设置如何。

尝试更改您的web.config并重试。

好的,在我回顾了代码并深入挖掘问题之后,发生这种情况的原因是路径~/bundles/js~/bundles/css存在。因此,您的IIS(Express)正试图加载目录的内容。为了让这个工作起作用,确保你设置你的编译debug = false(它在项目下载中被设置为true)。如

<compilation debug="false" targetFramework="4.0"/> 

下一页找到~/bundle文件夹并将其删除... 最后重新构建应用程序,并运行该项目。但是不要在调试中运行它,否则它会尝试将上面的调试标志设置回真。

这是在我的机器上工作,现在JS和CSS。

+0

我也改变了这一点,也是同样的问题 –

+0

其实我也改变了 ..那么我也不是样式&JS不加载..有没有其他解决方案来实现这个 –

+0

我也遵循相同的程序。 ...作为wat建议你..要执行我的实时项目...... –

0

试试这个在你的web.config

<configuration> 
    ... 
    <system.web> 
     <compilation 
      debug="true" 
      ... 
     > 
     ... 
     </compilation> 
    </system.web> 
</configuration> 

看到MSDN

+0

你能检查这个链接,http://forums.asp.net/t/1963043.aspx?Bundling+minification+不施加+ + C ss + js +使用+ Asp + net + 4 + 0 + C + ....我已经给出了关于该问题的详细信息 –

0

在设置网络配置文件是:

<compilation debug="false" targetFramework="4.0">