MVC5 学习笔记 controller】的更多相关文章

主要参考书籍<ASP.NET MVC5 高级编程(第5版) > 作者:Jon Galloway等 1. MVC 表示 模型-视图-控制器.MVC是一种用于开发应用程序的模式,具备良好的架构,可测试和易于维护.基于MVC应用程序中包含: Models:表示应用程序的数据,并使用验证逻辑强制执行业务规则的数据的类. Views:您的应用程序用来动态生成HTML响应的模板文件. controllers:处理传入的请求的浏览器,类检索模型的数据,然后指定将响应返回到浏览器中的视图模板. 2.  MVC…
在开始之前,声明一下,由于ASP.NET MVC5正式发布了,后面的分析将基于ASP.NET MVC5最新的源代码.在前面的内容我们分析了怎样根据路由信息来确定Controller的类型,并最终生成Controller的实例.这一节来了解一下Controller的总体执行分析,以同步执行版本为主. Controller的继承体系如下图所示: 当调用Controller实例的Excecute方法时,实际是调用ControllerBase的Excecute方法,该方法的主要实现代码如下: prote…
一. ControllerDescriptor说明 ControllerDescriptor是一个抽象类,它定义的接口代码如下: public abstract class ControllerDescriptor : ICustomAttributeProvider, IUniquelyIdentifiable { public abstract ActionDescriptor FindAction(ControllerContext controllerContext, string ac…
由于之前在项目中也使用MVC进行开发,但是具体是那个版本就不是很清楚了,但是我觉得大体的思想是相同的,只是版本高的在版本低的基础上增加了一些更加方便操作的东西.下面是我学习ASP.NET MVC5高级编程(5)的一些知识笔记,有些简单的操作没有进行记录,一些知识点就使用思维导图来写出大体的知识架构. MVC5是完全Bin部署的,也就是说我们最后发布的时候只是将Bin文件下面的应用程序的程序集发布就可以,对于服务器来说只需要有.NET 4.5就可以进行安装了. 一条至理名言"约定优于配置"…
前面我们介绍了Filter的基本使用,但各种Filter要在合适的时机运行起来,需要预先准备好,现在看看ASP.NET MVC框架是怎么做的. 一.Filter集合 在ControlerActionInvoker的InvokeAction方法中,只有一行代码FilterInfo filterInfo = GetFilters(controllerContext, actionDescriptor), 把收集的Filter信息放到了FilterInfo中,我们来看看 访类型的定义: public…
Filter是ASP.NET MVC框架提供的基于AOP(面向方面)设计,提供在Action执行前后做一些非业务逻辑通用处理,如用户验证,缓存等.现在来看看Filter相关的一些类型信息. 一.基本类型 1. Filter类型,描述筛选器信息的元数据类型,具体定义如下: public class Filter { // 表示一个用于指定筛选器的默认顺序的常数. ; public Filter(object instance, FilterScope scope, int? order); pub…
新装了vs2013 开始试着学习MVC5 首先用了2013的内置的框架 这里提三点 1. bootstrap (现已加入mvc5豪华套餐) 他的框架已经加入了bootstrap 3.0的版本(http://v3.bootcss.com/) 很强大的前端框架 大爱啊 像我这种没有美术天赋的懒人 用用bootstrap再好不过了 2. BundleConfig 所有的外链的文件 都放在这里 随着web的发展 网上出现了很多开源工具 框架 UI 之前说的bootstrap就是其中 然后这需要大量的连接…
1. Razor @*注释*@ 你在用 @Request.Browser.Browser, 发送邮件给support@qq.com, 转义@@qq @{ var amounts = new List<Decimal> {100, 25.00m, 30.0m, -40}; } <ul> @foreach (decimal amount in amounts) { <li>@formatAmount(amount)</li> <text>普通文本&l…
[TOC] 1. Action 1.1 新建项目 新建项目->Web->Asp.net Web应用程序,选择MVC,选择添加测试. 在解决方案上右键,选择"管理NuGet程序包",在更新页更新全部程序包. 1.2 控制器 控制器在Controllers文件夹内,命名规则是"名称+Controller" 2. 路由 2.1 路由规则 {controller}/{action}/{id} 其中{id}是可选的. 2.2 路由定义RouteConfig.cs…
1. 返回ViewResult public ActionResult Index()   {       ViewData["Message"] = "Welcome to asp.net MVC!";       return View();   }  public ActionResult Index(){    ViewData["Message"] = "Welcome to ASP.NET MVC!";    re…
这一节我们关注模型绑定的值提供体系,先来介绍几个重要的接口 一. IValueProvider,接口定义如下: public interface IValueProvider { bool ContainsPrefix(string prefix); ValueProviderResult GetValue(string key); } 从上面可以看出,IValueProvider定义了两个方法, 一个是检测是否包含指定的前缀,一个是通过指定的Key获取查询结果.这里前缀的概念主要是针对复杂类型…
当我们在Controller中定义一个Action,通常会定义一个或多个参数,每个参数称为一个模型,ASP.NET MVC框架提供了一种机制称为模型绑定,会尝试自动从请求的信息中实例化每一个模型并赋值.这其中又涉及模型的元数据提供和模型的验证. 我们不妨试想一下,如果来定义一种从字符串值到对象值的映射机制,可能要知道以下信息: 1. 对象的类型和名称等对象本身的元数据 2. 对象属性的元数据信息 3. 查询字符串到对象和对象属性的值映射机制 4. 具体的绑定过程 前面的1,2 由ASP.NET…
买了一本MVC5的书:ASP.NET MVC 5 高级编程(第5版).边学边记录一下 1.快速创建模型类,如:自动实现的属性 {get;set;} 输入“prop",按Tab两次,默认属性值是int,可以修改. 然后再按Tab两次,修改属性名称,最后按Enter. 2.编译解决方案的快捷方式:Ctrl+Shift+B…
1. 测试步骤 准备 执行 检查 2. 创建单元测试 注意:单元测试不要包含数据库操作,包含数据库操作的一般成为集成测试. 2.1 编写测试代码 namespace AspNetMVCEssential.Tests.Controllers { [TestClass] public class HomeControllerTest { [TestMethod] public void Index() { // Arrange HomeController controller = new Home…
1. Owin OWIN全名:Open Web Interface for .NET. 它是一个说明,而非一个框架,该声明用来实现Web服务器和框架的松耦合.它提供了模块化.轻量级和便携的设计.类似Node.js, WSGI. Katana是微软实现的OWIN组件的集合.包含基础设施组件和功能性组件.并且暴露出了OWIN管道用来添加组件.可以在IIS.OwinHost.exe或者自定义的服务器中托管. 比如OWIN提供了新的登录模式,比如,打开Web.config文件,我们看到: <system…
1. Model 1.1 添加一个模型 注意,添加属性时可以输入"prop",会自动输入代码段. public class CheckoutAccount { public int Id { get; set; } public string AccountNumber { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Balanc…
控制器(controller)主要负责响应用户的输入,并且在响应时修改模型(Model).通过这种方式,MVC模式中的控制器主要关注的是应用程序流.输入数据的处理,以及对相关视图(View)输出数据的提供.控制器操作的工作是响应URL请求,执行正确的操作,并向浏览器或是单击这个URL的用户做出响应,可以把它当作“指挥员”. 利用HttpUtility.HtmlDecode()方法来预处理用户输入.这样就能阻止用户用链接向视图中注入JS代码或html标记. Asp.net MVC的默认路由约定,就…
$this->display(); 通过上面的代码则可以输出controller所对应的view…
Html.ActionLink("linkText","actionName") 该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法,默认控制器为当前页面的控制器, 如果当前页面的控制器为Products,则 Html.ActionLink("detail","Detail") 则会生成 <a href="/Products/Detail">all</a> Htm…
一. 元数据描述类型ModelMetadata 模型元数据是对Model的描述信息,在ASP.NET MVC框架中有非常重要的作用,在模型绑定,模型验证,模型呈现等许多地方都有它的身影.描述Model元数据的基本类型是ModelMetadata,日常开发中我们建立的ViewModel,在上面的声明的许多属性最终都会反应的该类型上,它的具体定义如下: public class ModelMetadata { // 摘要: // 默认顺序值 10000. ; // 摘要: // 初始化 System…
去除VS Browser Link废代码 在webconfig中添加 <configuration> <appSettings> <add key="vs:EnabledBrowserLink" value="false"/> ... </appSettings> </configuration> BundleConfig bundles.Add(new ScriptBundle("~/bundl…
// POST: Movies/Create // 为了防止“过多发布”攻击,请启用要绑定到的特定属性,有关 // 详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] publicActionResultCreate([Bind(Include="ID,Title,ReleaseDate,Genre,Price")]Movie movie) { if(…
本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐directive> <inner‐directive></inner‐directive> </outer‐directive> 这里有两个指令,一个outer-directive指令元素,它里面又有一个inner-directive指令元素. js: app.directiv…
作者:ssslinppp      时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MVC与json参考文章:[spring学习笔记-mvc-3]返回json数据-方式1  和 [spring学习笔记-mvc-4]返回json数据-方式2. 使用到的技术主要如下: Ajax:使用JQuery 提供的ajax:==>需要引入jquery.min.js文件: Spring MVC: Jso…
原版地址:http://docs.angularjs.org/guide/dev_guide.mvc.understanding_model 在angular中,controller是一个javascript 函数(type/class),被用作扩展除了root scope在外的angular scope(http://www.cnblogs.com/lcllao/archive/2012/09/23/2698651.html)的实例.当我们或者angular通过scope.$new API(h…
ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettings> 2 <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式 3 </appSettings> 但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置. 针对这种情况,使用…
个人从传统的CS应用开发(WPF)开始转向BS架构应用开发: 先是采用了最容易上手也是最容易搞不清楚状况的WebForm方式入手:到后面就直接抛弃了服务器控件的开发方式,转而采用 普通页面+Ajax+一般处理程序的方式: 虽然能快速开发一些小项目应用,但整体架构不可靠.代码冗余.操作界面不友好等等问题还是让我重新考虑应该认真系统的学习一个开发架构框架: 由于个人一直从C语言学习上来的,也没有碰过Java,所以自然而然的就只有选择 ASP.NET MVC这个开发框架:(也许在完成MVC的学习后,也…
概述 今天我们主要看一下kafka的controller的代码,controller代码是kafka的非常重要的代码,需要我们深入学习.从某种意义上来说,它是kafka最核心的组件,一方面,他要为集群中的所有主题分区选取领导者副本:另一方面,它还承载着集群的全部元数据信息,并负责讲这些元数据信息同步到其他broker上.下面我们来一一讲解controller组件. 集群元数据 事实上,集群 Broker 是不会与 ZooKeeper 直接交互去获取元数据的.相反地,它们总是与 Controlle…
EF6 学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本篇参考原文地址: Creating an Entity Framework Data Model 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根据自己的理解做了一些扩展. 本人的学习环境: VS2017 + EF 6.1.3 + .NET 4.6.1 Step1 :  新建Web Application (我起名为EFTest) 选择空白模板,…