Asp.net MVC5 学习笔记

  1. 控制器(controller)主要负责响应用户的输入,并且在响应时修改模型(Model)。通过这种方式,MVC模式中的控制器主要关注的是应用程序流、输入数据的处理,以及对相关视图(View)输出数据的提供。控制器操作的工作是响应URL请求,执行正确的操作,并向浏览器或是单击这个URL的用户做出响应,可以把它当作“指挥员”。
  2. 利用HttpUtility.HtmlDecode()方法来预处理用户输入。这样就能阻止用户用链接向视图中注入JS代码或html标记。
  3. Asp.net MVC的默认路由约定,就是将操作方法名称后面URL的这个片段作为一个参数,该参数的名称为ID。如果操作方法中,有名为ID的参数,那么ASP.NET MVC会自动将这个URL片段作为参数传递过来。
  4. 视图(View)的职责是向用户提供用户界面,当控制器针对被请求的URL执行完合适的逻辑后,就将要显示的内容委托给视图。视图本身不会被直接访问,浏览器不能直接指向一个视图并渲染它,视图总是被控制器渲染,因为控制器为它提供了要渲染的数据。
  5. 通过ViewBag从控制器向视图传递少量数据。ViewBag具有局限性,但只向视图传递少量数据的话,还有很有用的。
  6. 验证注解:model模型里面的类,在每个数据库字段属性上面,可以使用注解验证数据(在客户端,数据可以进行验证)。[Required]不为空验证,[StringLength(50)]或[StringLength(50,MinimumLength=3)] 字符长度最长50或最长50,最短3。[RegularExpression]可以使用正则表达式验证数据。[Range]指定数值型类型的数据的最大值和最小值。[Compare]确保模型对象的两个属性拥有相同的值。[Remote]利用服务器端的回调函数执行客户端的验证逻辑。