MVC命名空间 / MVC.Html命名空间(System.Web.Mvc.Html 命名空间包含有助于在 MVC 应用程序中呈现 HTML 控件的类。 该命名空间包含支持窗体、输入控件、链接、分部视图、验证等的类)
1、mvc执行过程:创建RouteTable、URL路由、执行MvcHandle,执行Controller,执行View方法。
2、自定义路由约束:实现 IRouteConstraint
3、ActionResult Contorller 提供很多方法直接返回actionResult
View/RedirectToAction/Content/json/File
acceptVerbsAttribute/ActionNameAttribute/ActionMethodSelectorAttribute
System.Web.Mvc.ViewPage<T> T为实体类,会自动映射到ViewData.Model
HtmlHeler{FormExtensions InputExtensions LinkExtensions RenderPartialExtensions SelectExtensions TextAreaExtensions ValidationExtensions}
5、数据传递:
a、ViewData 只能在当前动作方法中设置,相应View中有效;
b、TempData,实际保存在Session中,不过只能读一次就被删除了
c、Model
d、ViewBag动态的,ViewBag.xx ,其中xx可以不用先定义。
接收form {FormCollection request.form model buiding}
接收get{直接通过action方法参数可取到?var=xxx, var和参数和参数要一样}
7、常用的action过滤器 OutputCache ; HandleError ,自定义 action Filter 可继承 actionFilterAttribute
8、DataAnnotation msdn-DataAnnotations
9、Model 属性 设置为虚拟的 virtual ,这将会使 EF-Code First 使用延迟加载
--------------------------------------------------------------------------------------------------------------------------
1、HttpUtility HttpUtility.HtmlEncode 方法来处理用户的输入,这样可以防止用户的脚本注入攻击