asp.net-mvc-4 – ASP.NET优化 – 捆绑
发布时间:2020-05-25 06:31:14 所属栏目:asp.Net 来源:互联网
导读:我一直在尝试ASP.NET MVC 4中的新的缩小和捆绑功能,只要您使用css和js文件的默认文件夹约定,它的效果非常好. /Content/Scripts 我通常将css和脚本放在一个名为Static的文件夹中 /Static/Css/Static/Js 我试图注册我自己的捆绑包,如下所示: public static cla
|
我一直在尝试ASP.NET MVC 4中的新的缩小和捆绑功能,只要您使用css和js文件的默认文件夹约定,它的效果非常好. /Content /Scripts 我通常将css和脚本放在一个名为Static的文件夹中 /Static/Css /Static/Js 我试图注册我自己的捆绑包,如下所示: public static class BundleCollectionExtensions
{
public static void RegisterScriptsAndCss(this BundleCollection bundles)
{
var bootstrapCss = new Bundle("~/Static/Css",new CssMinify());
bootstrapCss.AddDirectory("~/Static/Css","*.css");
bootstrapCss.AddFile("~/Static/Css/MvcValidation.css");
bootstrapCss.AddFile("~/Static/Css/bootstrap-responsive.min.css");
bootstrapCss.AddFile("~/Static/Css/bootstrap.min.css");
bundles.Add(bootstrapCss);
var bootstrapJs = new Bundle("~/Static/Js",new JsMinify());
bootstrapJs.AddDirectory("~/Static/Js","*.js");
bootstrapJs.AddFile("~/Static/Js/jquery-1.7.1.min.js");
bootstrapJs.AddFile("~/Static/Js/jquery.validate.min.js");
bootstrapJs.AddFile("~/Static/Js/jquery.validate.unobtrusive.min.js");
bootstrapJs.AddFile("~/Static/Js/bootstrap.min.js");
bootstrapJs.AddFile("~/Static/Js/gunsforhire.js");
bundles.Add(bootstrapJs);
}
}
在里面 Global.ascx.cs 我做到了 BundleTable.Bundles.RegisterScriptsAndCss(); 生成的标记如下所示: <link href="/Static/Css?v=D9JdmLZFFwjRwraNKfA1uei_YMoBoqLf-gFc0zHivM41" rel="stylesheet" type="text/css" /> <script src="/Static/Js?v=mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1" type="text/javascript"></script> 但是它不起作用,请求如下所示: Request URL:http://localhost:49603/Static/Js?v=mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1 Request Method:GET Status Code:301 Moved Permanently (from cache) Query String Parametersview URL encoded v:mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1 Request URL:http://localhost:49603/Static/Js/?v=mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1 Request Method:GET Status Code:404 Not Found Request Headersview source Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Connection:keep-alive Host:localhost:49603 Referer:http://localhost:49603/ User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML,like Gecko) Chrome/17.0.963.56 Safari/535.11 Query String Parametersview URL encoded v:mbKbf5__802kj-2LS5j9Ba-wvSxBCKNMQGBgzou6iZs1 Response Headersview source Cache-Control:private Content-Length:4757 Content-Type:text/html; charset=utf-8 Date:Thu,01 Mar 2012 19:05:44 GMT Server:Microsoft-IIS/7.5 X-Powered-By:ASP.NET X-SourceFiles:=?UTF-8?B? QzpcQENvZGVccGVsbGVccGVsbGVoZW5yaWtzc29uLnNlXHNyY1xXZWJcU3RhdGljXEpzXA==?= 我究竟做错了什么? 更新 我想我终于可以通过以下方式解决这个问题: >删除AddDirectory调用bootstrapCss.AddDirectory(“/ Static / Css”,“* .css”); 解决方法你在做什么“错”是你的捆绑路径对应一个REAL路径.据了解,当“/ Static / Css?v = D9JdmLZFFwjRwraNKfA1uei_YMoBoqLf-gFc0zHivM41”的请求进入时,路由引擎首先查找物理路径.它找到与您的文件夹“静态”匹配,并尝试找到一个匹配“Css?v = D9JdmLZFFwjRwraNKfA1uei_YMoBoqLf-gFc0zHivM41”的文件.当它找不到一个,因为它不存在,它给了一个404.(我也看到一个访问被拒绝.)当路由引擎找不到一个物理文件路径,然后看起来像其他处理程序,如捆绑和细化以提供请求.无论如何,我认为你已经从你的意见中解决了,但我不知道任何人发现你的问题会非常清楚.只需更改您的注册: var bootstrapCss = new Bundle("~/Static/Css",new CssMinify());
至: var bootstrapCss = new Bundle("~/bundles/Css",new CssMinify());
如果你做出这样的改变,你的问题就会消失,(授予没有对应于“捆绑”的物理路径). (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 请求格式无法识别的URL意外结束在’/转换’发生
- asp.net-mvc – ASP.NET MVC – 单元测试过度杀毒? (TDD)
- asp.net – 将ViewState移出页面?
- asp.net – 避免表格重新提交
- asp.net – 自定义部分的Web配置转换
- asp.net-mvc – SSL安全SaaS应用程序的URL设计
- asp.net-mvc – 在ASP.NET MVC 3中路由静态文件,如robots.t
- Asp.net MVC Razor – 自定义javascript里面的if块
- asp.net-mvc-3 – 单元测试一个文件上传,怎么样?
- asp.net-mvc – 在asp.net mvc中使用Checkbox提交表单
推荐文章
站长推荐
- asp.net-mvc – 如何在ASP.NET MVC Web API中将U
- 在ASP.NET中单点登录 – cookie名称,machineKey还
- ASP Classic中的HTTP身份验证(基本或摘要)通过II
- asp.net-mvc – ASP.NET MVC网格控件比较
- asp.net-mvc – ASP.NET MVC – 无法绑定数组以查
- asp.net – 从启用AJAX的WCF服务返回错误详细信息
- 有关ASP.NET中会话的要点
- asp.net – 使CustomValidator与ValidationSumma
- asp.net 读取配置文件方法
- asp.net-web-api – 如何确保ASP.net Web API控制
热点阅读
