摘要: 这里演示如何在MVC WEB应用程序如何上传图片到数据库以及如何在WEB页面上显示图片。数据库表对应整个Model类,不单图片数据一个字段,我们从数据表的定义开始: 保存图片的字段为ImageData,类型VARBINARY,字段ImageMimeType保存图片的类型。我们使用Entity fra 阅读全文
posted @ 2016-09-02 22:34 闫宝平 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: 在前面的章节中我们知道可以在MVC应用程序中使用[Authorize]特性来限制用户对某些网址(控制器/控制器方法)的访问,但这都是在对用户认证之后,而用户的认证则依然是使用ASP.NET平台的认证机制。 ASP.NET提供Windows和Forms两种身份验证,前者主要用于Intranet上域环境 阅读全文
posted @ 2016-09-02 22:32 闫宝平 阅读(917) 评论(0) 推荐(0) 编辑
摘要: Web API属于ASP.NET核心平台的一部分,它利用MVC框架的底层功能方便我们快速的开发部署WEB服务。我们可以在常规MVC应用通过添加API控制器来创建web api服务,普通MVC应用程序控制器根据用户请求的action方法返回ActionResult,而web api服务返回的则是jso 阅读全文
posted @ 2016-09-02 22:31 闫宝平 阅读(327) 评论(0) 推荐(0) 编辑
摘要: Bundles用于打包CSS和javascript脚本文件,优化对它们的组织管理。显示模式则允许我们为不同的设备显示不同的视图。 默认脚本库 在VS创建一个MVC工程,VS会为我们在scripts目录下添加很多脚本库,下面来简单了解下这些脚本库的作用: 一些脚本文件有常规和最小化两个版本,最小化版本 阅读全文
posted @ 2016-09-02 22:30 闫宝平 阅读(1123) 评论(0) 推荐(0) 编辑
摘要: 模型验证是在模型绑定时检查从HTTP请求接收的数据是否合规以保证数据的有效性,在收到无效数据时给出提示帮助用户纠正错误的数据。 显式模型验证 验证数据最直接的方式就是在action方法中对接收的数据验证,以下面的Model为例: 我们要求ClientName不能为空;约会日期Date不能早于当前日期 阅读全文
posted @ 2016-09-02 22:29 闫宝平 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 模型绑定指的是MVC从浏览器发送的HTTP请求中为我们创建.NET对象,在HTTP请求和C#间起着桥梁的作用。模型绑定的一个最简单的例子是带参数的控制器action方法,比如我们注册这样的路径映射: 控制器Home的Index action带有名为id的参数: 在我们请求URL“/Home/Inde 阅读全文
posted @ 2016-09-02 22:26 闫宝平 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 使用帮助函数创建链接 MVC提供一些帮助函数创建链接,这些函数根据路径映射表自动调整生成的URL: Html.RouteLink("My Link", new {controller = "People", action="GetPeople"}) Html.RouteLink("My Link", 阅读全文
posted @ 2016-09-02 22:23 闫宝平 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 和普通HTML帮助函数不同,模板帮助函数不需要指定所用的HTML类型,MVC会推断选择合适的HTML元素,这让我们有更多的灵活性。 使用模板帮助函数 我们使用《ASP.NET MVC 4 (六) 帮助函数 》中的数据模型和控制器继续后面的例子,使用模板帮助函数后改写编辑输入的视图: 这里用到模板帮助 阅读全文
posted @ 2016-09-02 22:18 闫宝平 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 帮助函数封装一些代码,方便我们在应用程序中重用,MVC内建很多帮助函数,可以很方便的生成HTML标记。首先列出后面示例中用到的数据模型类定义: 控制器的定义: 内联帮助函数 我们可以直接在视图中定义内联的帮助函数,使用@helper标记内联函数定义: 这里定义了一个内联帮助函数ListArrayIt 阅读全文
posted @ 2016-09-02 22:16 闫宝平 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 视图引擎与视图 多数情况下控制器action方法返回ViewResult对象,MVC内建action调用器ControllerActionInvoker负责调用控制器action方法并调用视图引擎处理ViewResut,由视图引擎将ViewResult转化为ViewEngineResult对象,Vi 阅读全文
posted @ 2016-09-02 22:14 闫宝平 阅读(288) 评论(0) 推荐(0) 编辑
摘要: MVC的标准流程是请求传递给控制器,由控制器action方法操作数据模型,最后交由视图渲染输出,这里忽略了两个细节,就是MVC是如何创建相应控制器实例,又是如何调用控制器action方法的,这就必须讲到控制器工厂和action调用器。 控制器工厂 Controller factory负责创建并初始化 阅读全文
posted @ 2016-09-02 22:12 闫宝平 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 先来看看一个例子演示过滤器有什么用: AdminController控制器的众多Action中我们都需要判定当前验证用户,这里有很多重复的代码,我们可以简化为: Authorize特性类AuthorizeAttribute就称作MVC的Filter,它在横向为MVC框架扩展功能,让我们可以更方便的处 阅读全文
posted @ 2016-09-02 22:10 闫宝平 阅读(219) 评论(0) 推荐(0) 编辑
摘要: MVC中控制器负责处理请求,由它操作数据模型,最后返回视图给用户。 IController接口 所有的控制器类以Controller结尾,必须实现System.Web.Mvc.IController接口,一个最简单的控制器类可以是: BasicController类实现了IController的唯一 阅读全文
posted @ 2016-09-02 22:08 闫宝平 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 正如ASP.NET MVC名字所揭示的一样,是以模型-视图-控制设计模式构建在ASP.NET基础之上的WEB应用程序,我们需要创建相应的程序类来协调处理,完成从客户端请求到结果相应的整个过程: VS2012中一个典型的MVC工程结构是这样的: Controllers文件夹下存放控制类,Models文 阅读全文
posted @ 2016-09-02 22:05 闫宝平 阅读(1466) 评论(0) 推荐(0) 编辑