我有一个 MVC5 网站,其中有一个区域称为 Freemium。我为我的整个网站使用了 bundle 集合,一切都很好,除了我打开免费增值区的时候。我所有的 jquery 和 css 文件都没有加载!我试图找出问题所在,我找到的唯一解决方案是将所有 css 和 jquery 文件复制到 area 文件夹中,但我不想这样做,因为复制和粘贴的文件始终相同。
所以当我用
渲染 css 和 js 时@Styles.Render("~/Freemium/Content/metro-ui/css")
我得到错误:
The controller for path '/Freemium/Content/metro-ui/css' was not found or does not implement IController. Stack trace: at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)**
这是我需要在免费增值领域工作的 bundle 。
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;
}
最佳答案
创建MVC站点已经有一段时间了,但不应该是
@Styles.Render("~/Freemium/Content/metro-ui/css/metrocss")
Render("path")
路径应该匹配 new StyleBundle("path")
。
关于c# - 如何使用原始包集合到区域 MVC5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25586971/