如何将原始捆绑集合用于MVC5区域

时间:2014-08-30 21:36:40

标签: c# jquery css asp.net-mvc asp.net-mvc-areas

我有一个名为Freemium的MVC5网站。我在我的整个网站上使用了捆绑集合,除了打开免费增值区域外,一切都很顺利。我的所有jquery和css文件都没有加载!我试图找出问题,我找到的唯一解决方案是将所有css和jquery文件复制到区域文件夹中,但我不想这样做,因为这将始终是相同的文件副本和放大器。糊。

所以当我用

渲染css和js时
@Styles.Render("~/Freemium/Content/metro-ui/css") 

我收到错误:

  

未找到路径'/ Freemium / Content / metro-ui / css'的控制器或未实现IController。   堆栈跟踪:      在System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext,Type controllerType)      在System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext,String controllerName)      在System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext,IController& controller,IControllerFactory& factory)      在System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext,AsyncCallback回调,对象状态)      在System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext,AsyncCallback回调,对象状态)      在System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context,AsyncCallback cb,Object extraData)      在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()      在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)**

这是我需要在免费增值区域工作的捆绑包。

private static BundleCollection SetMetroUIFreemiumBundles(BundleCollection bundles)
    {
        // CSS
        bundles.Add(new StyleBundle("~/Freemium/Content/metro-ui/css/metrocss")
            .Include("~/Content/metro-ui/css/metro-bootstrap.css"
            , "~/Content/metro-ui/css/metro-bootstrap-responsive.css"
            , "~/Content/metro-ui/css/iconFont.min.css"));

        // Scripts
        bundles.Add(new ScriptBundle("~/Freemium/Scripts/metro-ui/metrojs")
            .Include("~/Scripts/metro-ui/jquery.ui.widget.js"
            , "~/Scripts/metro-ui/metro.min.js"));

        return bundles;
    }

1 个答案:

答案 0 :(得分:2)

我创建一个MVC网站已经有一段时间了,但不应该是

@Styles.Render("~/Freemium/Content/metro-ui/css/metrocss")

Render("path")路径应与new StyleBundle("path")匹配。