❶ ASP.NET MVC4里会自动过滤一些资源文件,请问怎么取消这些限制
看看BundleConfig.cs,给你不想自动优化的css或js注释掉并手动在View里添加引用。
❷ ASP.NET MVC4大文件下载的问题
刚碰到这个问题,下面的代码可以直接拷贝使用。 protected void Page_Load(object sender, EventArgs e) { DownFile1(@"D:\常用软件\win7.iso", "win7.iso"); } private void DownFile1(string filePath, string fileName) { ResponseFile(this.Request, this.Response, fileName, filePath, 1024000); } // 输出硬盘文件,提供下载 // 输入参数 _Request: Page.Request对象, _Response: Page.Response对象, _fileName: 下载文件名, _fullPath: 带文件名下载路径, _speed 每秒允许下载的字节数 // 返回是否成功 public static bool ResponseFile(HttpRequest _Request, HttpResponse _Response, string _fileName, string _fullPath, long _speed) { try { FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader br = new BinaryReader(myFile); try { _Response.AddHeader("Accept-Ranges", "bytes"); _Response.Buffer = false; long fileLength = myFile.Length; long startBytes = 0; int pack = 10240; //10K bytes //int sleep = 200; //每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor((double)(1000 * pack / _speed)) + 1; if (_Request.Headers["Range"] != null) { _Response.StatusCode = 206; string[] range = _Request.Headers["Range"].Split(new char[] { '=', '-' }); startBytes = Convert.ToInt64(range[1]); } _Response.AddHeader("Content-Length", (fileLength – startBytes).ToString()); if (startBytes != 0) { _Response.AddHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", startBytes, fileLength – 1, fileLength)); } _Response.AddHeader("Connection", "Keep-Alive"); _Response.ContentType = "application/octet-stream"; _Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(_fileName, System.Text.Encoding.UTF8)); br.BaseStream.Seek(startBytes, SeekOrigin.Begin); int maxCount = (int)Math.Floor((double)((fileLength – startBytes) / pack)) + 1; for (int i = 0; i < maxCount; i++) { if (_Response.IsClientConnected) { _Response.BinaryWrite(br.ReadBytes(pack)); Thread.Sleep(sleep); } else { i = maxCount; } } } catch { return false; } finally { br.Close(); myFile.Close(); } } catch { return false; } return true; }
❸ asp.net mvc4发布到iis7.0,访问不正常。
看你这个link和script标签中的字符串。应该用的是BundleConfig来配置样式表和脚本。那么出现这种情况就有两种可能。第一种可能的确是和Layout没有加载到有关。第二种是BundleConfig中的写法错误(也有可能发布的时候样式表和脚本文件没有一起发布,不过这种可能性比较小,此处忽略)。解决方案如下:
对于第一种情况,加载不到的原因可能是:你用了区域Areas。没有指定全局Layout,也没有指定局部Layout那么当然加载不到。你只要在每个cshtml文件的开头都用
Layout="~/Layout路径";
这种形式指定。这样就解决了。
对于第二种。稍微复杂。在BundleConfig中你肯定用到了如下的写法:
bundles.Add(newStyleBundle("~/Content/css").Include("~/Content/site.css"));
这里你要注意,默认情况下,BundleConfig的忽略规则会无视压缩文件,比如
bundles.Add(newStyleBundle("~/Content/css").Include("~/Content/site.min.css"));
这个路径里面带有“min”。会被认为是压缩过的样式文件。直接忽略。关于压缩的事情建议你搜索一下,关键字直接就用“BundleConfig”就行了。一大堆。你试试把min去掉或许就行了。
还有一点。还是这个文件路径的问题。你看这个StyleBundle或者ScriptBundle里面的字符串。必须要和你文件的路径吻合。比如:
bundles.Add(newStyleBundle("~/Content/themes/base/css").Include("~/Content/themes/base/jquery-ui.css"));
关于/Content/themes/base/css这里面的最后一个css。这个好像是可以自定义的。我以前研究过mvc4源代码。现在忘记掉了。你可以自己去试试。或者也去看看源代码。
至于include中的路径就更不用说了必须要写相对路径。
就是这样了。
❹ 请问各位高手Asp.net MVC4如何实现读取某文件夹下的文件的文件路径
首先用Server.MapPath("~")得到网站根目录,也就是web.config所在目录,然后用相对目录定位到其他目录。
❺ .net mvc4会自动生成一个Shared下的Error.cshtml视图文件,系统偶尔会自动跳转到到该视图上,还请指教 谢
检查一下你的web.config,看是不是指明错误文件到这里了。
❻ .net mvc4 怎么用<input type="file" id='file_id" />来发送小于100MB的文件不用控件谢谢!
<input type="file" id='file_id" onclick=Save() /><script> window.location="/控制器/Save";</script>在控制器写代码: public ActionResult Save(IEnumerable<HttpPostedFileBase> NewsURL) { var physicalPath = ""; if (NewsURL != null) { foreach (var file in NewsURL) { var fileName = Path.GetFileName(file.FileName); //判断上传的文件类型 string extentionName = fileName.Substring(fileName.LastIndexOf(".") + 1, fileName.Length – (fileName.LastIndexOf(".") + 1)); //生成新的文件名 Random rand = new Random(); string newFileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Millisecond.ToString() + rand.Next().ToString() + "." + extentionName; physicalPath = Path.Combine(Server.MapPath("~/images"), newFileName); file.SaveAs(physicalPath); url = "/images/" + newFileName; } } return Content(""); }这样就把文件存入到images文件夹中了
❼ net mvc4怎么过滤静态资源不进路由
让静态资源不被SpringMVC分配器过滤有两种办法: ① 把所有的 JS 和 CSS 文件移至别的文件夹 ② 为 resources 文件夹需要被过滤的文件类型分别写一个 mapping第二种方法是在web.xml配置静态资源映射到default去吧。 第一种方法意思是,比如之前的目录结构是把css,js放在webroot下的resources文件夹中,页面上通过 这样的请求来访问。
❽ IIS发布MVC4项目问题 浏览主页是文件目录
1.配置IIS CMD代码 (32位系统)%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir(64位系统)%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
❾ mvc4.0 中如何自定义路由来访问 http://127.0.0.1/admin/home/index
一个视图文件夹要对应一个同名的控制器;在控制器前面加一个文件夹名,可以把路由改为这样site/{controller}/{action}/{id},可以匹配site文件夹中所有MVC请求。
❿ .net mvc4 在区域内创建控制器不自动生成View下对应的文件夹吗要怎么才能自动生成
添加控制器后,里面会有一个Index的返回view的方法,单击index右键添加视图,然后会在对应的View里面生成一个文件夹与控制器名一样,里面就会有你的视图