某些情况下我们需要在服务器上保存一些静态文件,比如用户上传到服务器的文件,如果刚好这些文件的保存目录是应用程序目录下的一个子目录的话,别人就可以通过Url直接访问这个文件. 例如:在应用程序目录下的UploadFiles子目录里保存用户上传上来的文件abc.txt, 那么别人就可以有通过url http://hostname/UploadFiles/aaa.txt 直接访问到这个文件 出于安全的考虑,你不想用户通过Url的方式访问这些文件,可以通过如下方法 public class RouteC…
例子引入 先看看如下例子,你能完全明白吗? using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MVCDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollectio…
好久没有写关于ASP.NET MVC的东西了,虽然<ASP.NET MVC4框架揭秘>已经完完整整的看完一遍,但是感觉和一锅粥差不多,没什么可写的,因为我自己不理解,也就写不出来.现在开始看<ASP.NET MVC5框架揭秘>,应该说第二遍了,每个代码都调试了,也看了很多的源代码,突然有一种清新的感觉,很多东西都连起来了,原来是这样啊,不不经意发出这样的感叹.既然有了一个好的理解,就整理一下,写出来,也就算巩固学习了.      言归正传吧,很多学习Asp.Net MVC的人把整个…
这次谈一谈Asp.Net MVC中所学到的路由生成URL的相关技术,顺便提一提遇到的一些坑,真的是掉坑掉多了,也就习以为常了,大不了从坑里再爬出来.初学者,包括我,都以为,mvc的核心是模型视图控制器,其余都是辅助,但是路由却也是可以独立成一个角色的.从ASP.NET发展来,路由已从一个小小角色演变成了独立的一方了,所以这个认识必须打破原有建立的思想.​​ 首先得知道一个概念,路由的功能是什么? 简单的讲就是你拿给我一个地址,我通过路由来查询一下,然后转交给你结果,路由好比一个服务区,确实如此,…
使用帮助函数创建链接 MVC提供一些帮助函数创建链接,这些函数根据路径映射表自动调整生成的URL: 说明 示例 输出结果 应用程序相对URL Url.Content("~/Content/Site.css")  /Content/Site.css 到控制器action的链接 Html.ActionLink("My Link", "Index", "Home") <a href="/">My Li…
对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎样的语言来显示界面的内容.对于一个ASP.NET MVC应用来说,我们很容易通过URL路由来实现这样一个功能.[本文已经同步到<How ASP.NET MVC Works?>中] 在具体介绍实现之前,我们通过一个简单的例子谈谈最终实现的效果.在通过ASP.NET MVC项目模板创建的空Web应用中…
默认情况下,在VisualStudio中开发网站,会运行在IISExpress中,如果想把网站部署到本地的IIS服务器上该怎么办呢? 一.首先,以管理员身份运行VisualStudio,否则在修改项目属性时将弹出如下对话框,阻止我们修改服务器为本地IIS. 然后,双击Properties图标,打开Web标签,将服务器设置为本地IIS,修改项目URL,名称自拟,如图: 即可保存成功. 二.配置IIS. 打开本地IIS.如何在Win8上安装IIS的方法,请自行查阅.右键网站.添加网站,如图: 修改…
为了方便查询系统出错弄个错误日志出来对于维护运维来说是很有必要的. 1.在Asp.Net MVC项目中的App_Start添加一个用于处理异常类的文件ErrorLog让他继承HandleErrorAttribute类并重写OnException方法 public class ErrorLog: HandleErrorAttribute { public override void OnException(ExceptionContext filterContext) { if(!filterCo…
阅读目录: 1.开篇介绍 2.System.Web.Optimization 组件 3.System.Web.Optimization 组件基本原理 4.扩展自定义类型静态文件 1]开篇介绍 这篇文章将简单的分析一下有关静态文件捆绑的ASP.NET组件System.Web.Optimization的运行原理及基本的缓存问题: 在我们的项目里面充斥着很多静态文件,为了追求模块化.插件化很多静态文件都被设计成模块的方式或者被分解,在需要的时候在通过组合的方式在UI层上使用:这就带来一个问题,文件多了…
阅读目录: 1.开篇介绍 2.System.Web.Optimization 组件 3.System.Web.Optimization 组件基本原理 4.扩展自定义类型静态文件 1]开篇介绍 这篇文章将简单的分析一下有关静态文件捆绑的ASP.NET组件System.Web.Optimization的运行原理及基本的缓存问题: 在我们的项目里面充斥着很多静态文件,为了追求模块化.插件化很多静态文件都被设计成模块的方式或者被分解,在需要的时候在通过组合的方式在UI层上使用:这就带来一个问题,文件多了…
使用laravel框架时可以将静态文件如,js文件,css文件,放到resources文件夹下的js下,当然也可以放到public文件夹下的js文件夹下,publi文件夹下默认情况下是没有css,js,图片等静态文件夹,需要自己创建. 创建完成后,在视图中就可以引入这些文件,但是有一些问题,如何获得这些文件的相对路径. 为什么要获取静态文件的相对路径,因为在很多情况下,项目在本地开发,然后迁移到linux服务器上,如果采用绝对路径,比如这个样子: E:\workspace\laravel\you…
一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参数名为id所以名称为id. 如果使用其他名称,后台是无法读取的会报错 二.url地址传参的第二种写法 1.使用?加参数名=参数值的写法,如果有多个参数使用&来连接 http://localhost:39270/RequestDemo/Index?id=88&name=%E5%BC%A0%E4%…
设置缓存 [OutputCache(Duration =333,VaryByCustom ="Index")] 缓存: //在action中,临时阻止该次请求的视图页面缓存 Response.Cache.SetNoServerCaching(); //可以使得默认的缓存,在规定过期时间内,除第一次访问外,都是304. Response.Cache.SetOmitVaryStar(true); 主要防范,循环参数来发起请求时,造成的大量无意义的参数生成的垃圾缓存过多,大量占用内存的情况.…
1.获取完整url信息(协议名+域名+虚拟目录名+文件名+参数) string url = Request.Url.ToString(); 如: //1)获取完整url(协议名+域名+虚拟目录名+文件名+参数),如:http://localhost:4326/Login/index?id=5 string url1 = Request.Url.ToString(); 2.获取虚拟目录名+页面名+参数 string url2 = Request.Url.PathAndQuery; 如: //2)获…
在项目中遇到需要通过url字符串获取controller和action的情况,百度了 一下找到了一个可以用的方法 ,在这里分享和记录一下 这个方法是在博客园的博问里看到的 原文地址是http://q.cnblogs.com/q/26461/ 实现的代码是这样的 string conroller = string.Empty; string action = string.Empty; HttpRequest hr = new HttpRequest("", url, "&qu…
园子里写的文章的都是把控制器从传统的项目中的Controllers拿出来单独放,但很少几乎没有把视图从Views拿出去这样的文章,今天来写一个. 其实很简单!一步步解决问题就行了,下面记录如下,供需要的同学参考,写的不好,轻喷,谢啦 首先咱们自己建一个MyCustomView文件夹 下面建一个Home文件夹里面放Index.cshtml视图 删除原来Views/Home/Index.cshtml 很明显这个时候访问Home/Index肯定会出现最经典的错误 原来MVC找视图的时候是根据路由去找对…
我曾经试过使用JSAjaxFileUploader插件来把文件.照片以异步的方式上传,就像"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"中说的,这种方法足够轻.足够好.但今天,要在前面的基础上再增加2个需求: 1.异步判断上传的图片是否超过最大限制2.把上传的图片裁剪成大中小3张图片,分别保存,删除的时候一块被删除 上传图片如果超出最大尺寸限制,终止上传,并报错误信息. 前台上传图片,显示缩略图. 在项目根目录下的指定文…
写在前面 最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋.在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jquery.form.js的插件实现. demo 首先通过nuget安装插件jquery.form.js 引入js文件 <script src="~/Scripts/jquery.form.min.js"></script> 前端调用的代码 @{ ViewBag.Titl…
今天在使用MVC4打包压缩功能@Scripts.Render("~/bundles/jquery") 的时候产生了一些疑惑,问什么在App_Start文件夹下BundleConfig.cs文件内 bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js", "~/Scripts/jquery.unobtrusive-a…
按照网上的做法,开启了ISAPI和CGI限制C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 应用程序池也设置好了,可是就是提示未启用目录浏览,网上又有人说不用开启目录浏览的,于是尝试了各种方法, 遗憾的是都没有解决. 想着先发布个WEBFORM的网站试下,于是新建了个默认网站,发布到IIS上,遇到了这么个错误: 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Mana…
 <iframe src='<%=ResolveUrl("~/Content/HTML_file/Agreement.html")%>' <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional…
实现图片的上传 easyui代码部分: //添加按钮 var URL; $("#btnCreate").click(function () { $('#UserDialog').dialog('open').dialog('setTitle', '添加产品'); $('#ff').form('clear'); //用户清除form表单中的记录 但是写在这里好像没用 URL = "/HouTai_ShangP/CreateUser"; }) 后台控制器代码部分: pu…
在一个项目中,需要做一个将Easy-UI界面展示数据下载为Excel文件的功能,经过一段时间努力,完成了一个小Demo.界面如下: 但按下导出Excel后,Excel文件将会下载到本地,在office中打开文件如下图: 一,Demo主要技术 利用Jquery,Easy-ui, EF, sql server 数据库 .  二 ,Demo主要构成   由于数据由Sqlserver 数据库查询出,需要在Web.config中配置sql链接字符串.如果使用EF ,可以写Sql语句修改代码.其中关键js代…
错误记录: <script type="text/javascript"> $(function () { $(document).off("ajaxSend"); //异步上传 $("#Submit").click(function () { if ($("#selectFileButton").val() == "") { return false; } $("#fileForm&…
实现上传文件功能,有时上传也会操作出错,能让用户有改正有机会,开发上传文件能有更新的功能. 文件上传时,如果是存储于应用程序某一目录的话,在更新时需要了解一些流程,先是删除旧文件,更新数据表相关信息,存储新文件. 本篇让你了解到MVC与jQuery的交互处理. 在数据库中,新建一个更新的存储过程: 找到并打开FileLibraryEntity.cs,添加一个vlid更新方法: 在ExerciseController.cs控制器中,创建一个更新Action: A标记,删除旧文件. B标记,获取新上…
在pom.xml中引入: <!--处理2003 excel--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <!--处理2007 excel--> <dependency> <group…
原文地址:http://www.w3school.com.cn/aspnet/mvc_publish.asp 学习如何在不使用 Visual Web Developer 的情况下发布 MVC 应用程序. 在不使用  Visual Web Developer 的情况下发布您的应用程序 通过在 WebMatrix.Visual Web Developer 或 Visual Studio 中使用发布命令,可以将 ASP.NET MVC 应用程序发布到远程服务器. 该功能会复制所有应用程序文件.控制器.…
我们知道在ASP.NET Web Forms中,一个URL请求往往对应一个aspx页面,一个aspx页面就是一个物理文件,它包含对请求的处理. 而在ASP.NET MVC中,一个URL请求是由对应的一个Controller中的Action来处理的,由URL Routing来告诉MVC如何定位到正确的Controller和Action. 笼统的讲,URL Routing包含两个主要功能:解析URL 和 生成URL,本文将围绕这两个大点进行讲解. 本文目录 URL Routing 的定义方式 让我们…
在MVC之前,ASP.NET假设请求的URL与服务器上的文件之间有关联,服务器接受请求,并输出相应的文件.而在引入MVC后,请求是由控制器的动作方法来处理的.为了处理URL,便引入了路由系统. 首先我们来创建一个基础项目用来演示.代码如下: public class HomeController : Controller { public ActionResult Index() { ViewBag.Controller = "Home"; ViewBag.Action = "…
本章将讲述ASP.NET MVC5 的路由原理,即URL映射机制. 简单点就是解释:为什么MVC在浏览器输入地址就能访问到类(或类中的方法)?这是怎么做到的?我自己可以通过.NET写出一个自己的MVC框架吗? 答案是:可以. 模拟URL映射 先来看一个Demo,在传统的.NET WebForms项目中,实现URL的拦截. 打开VS2013,新建一个“ASP.NET Web窗体应用程序”项目,并取名为Demo4URLRouting. 为了方便测试,注释掉Default.aspx页面的内容和模板引用…