C# 在Web窗体应用程序中捆绑CSS和脚本

C# 在Web窗体应用程序中捆绑CSS和脚本,c#,webforms,bundle,C#,Webforms,Bundle,我在这里讨论如何将CSS和脚本捆绑到Web表单应用程序 首先,我想指出,我遵循本教程: 我已经在应用程序中启动了BundleConfig类,如下所示: using System.Web; using System.Web.Optimization; namespace SitePessoal.Web { public class BundleConfig { public static void RegisterBundles(BundleCollection

我在这里讨论如何将CSS和脚本捆绑到Web表单应用程序

首先,我想指出,我遵循本教程:

我已经在应用程序中启动了BundleConfig类,如下所示:

using System.Web;
using System.Web.Optimization;

namespace SitePessoal.Web
{
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery/core/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                        "~/Scripts/jquery/core/jquery-ui-{version}.js"));

            bundles.Add(new StyleBundle("~/CSS/css").Include(
                        "~/CSS/Estilos.css", 
                        "~/CSS/Print.css", 
                        "~/CSS/Styles.css"));
        }
    }
}
void Application_Start(object sender, EventArgs e) 
{
    // Code that runs on application startup  
    BundleConfig.RegisterBundles(BundleTable.Bundles);
    BundleTable.EnableOptimizations = true;
}
此外,我还下载了带有Nugget的优化包,因此之后我转到我的Global.asax文件,并尝试在应用程序启动方法中注册它,如下所示:

using System.Web;
using System.Web.Optimization;

namespace SitePessoal.Web
{
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery/core/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                        "~/Scripts/jquery/core/jquery-ui-{version}.js"));

            bundles.Add(new StyleBundle("~/CSS/css").Include(
                        "~/CSS/Estilos.css", 
                        "~/CSS/Print.css", 
                        "~/CSS/Styles.css"));
        }
    }
}
void Application_Start(object sender, EventArgs e) 
{
    // Code that runs on application startup  
    BundleConfig.RegisterBundles(BundleTable.Bundles);
    BundleTable.EnableOptimizations = true;
}
不幸的是,这就是事情不起作用的地方。不幸的是,它一直用红色在班级下面划线,并给我以下信息:

Error   3   The name 'BundleTable' does not exist in the current context
Error   4   The name 'BundleTable' does not exist in the current context
Error   2   The name 'BundleConfig' does not exist in the current context 
你知道为什么会这样吗?提前谢谢

致以最良好的祝愿,

Mad

您可能已经修复了此问题,但只是以防万一,它对任何人都有用。。您可能需要将对
System.Web.Optimization
BundleConfig
类命名空间
sitepesoal.Web
的引用添加到
Global.asax.cs

例如:

using System.Web.Optimization;
using SitePessoal.Web;

namespace SitePessoal.Web.Application
{
    public class Global : HttpApplication
    {
        private void Application_Start(object sender, EventArgs e)
        {
              BundleConfig.RegisterBundles(BundleTable.Bundles);
              BundleTable.EnableOptimizations = true;
        }
    }
}
如果您还没有添加
System.Web.Optimization
名称空间到
Web.config
中的页面,可能还需要添加
System.Web.Optimization
名称空间,因为仅仅通过
NuGet
添加对
Microsoft.AspNet.Web.Optimization
包的引用是不够的

<pages>
    <namespaces>
        <add namespace="System.Web.Optimization"/>
    </namespaces>
</pages>

我解决了@MadGatsu在同一教程中遇到的问题

@Pricey是正确的,%MadGatsu正确地添加了对Global.asax的引用,包括:

<%@ Import Namespace="System.Web.Optimization" %>
<script RunAt="server">        
    void Application_Start(object sender, EventArgs e)
    {
          BundleConfig.RegisterBundles(BundleTable.Bundles);

无效应用程序\u启动(对象发送方,事件参数e)
{
BundleConfig.RegisterBundles(BundleTable.Bundles);
但还有一点


基于缺少Global.asax.cs,我推断我们有网站。在这种情况下,我们需要将Bundleconfig.cs文件放在特殊的aspnet文件夹App_Code中。不要添加App_Start文件夹来包含该文件,因为它不起作用。只需移动我的Bundleconfig>g、 cs应用程序代码应用程序开始已更正当前上下文错误中不存在“BundleConfig”。

您好,非常感谢您提供可能的答案。事实上,此主题仍然开放,因为我根本没有解决它。我将尝试您的解决方案并尽快给出反馈(又名明天!)。非常感谢,不管结果如何。嗨,昂贵,我现在还没有时间来测试这个。工作非常忙。我尝试了你的解决方案,但仍然不起作用。我有一个网站,而不是Web应用程序,所以我没有Globa.asax.cs类文件。相反,我在Global.asax中添加了以下内容:但它向我显示了BundleConfig没有扩展的错误在web.config文件中,一切都很好,系统优化已经存在。还有其他想法吗?谢谢@Pricey。我将尝试该解决方案,我很快会回答。干杯!:)事实上,您的解决方案解决了我收到的关于“BundleConfig”的错误消息的问题当前上下文中不存在!已标记为解决方案。谢谢!:)