Plan for search engine optimization and accessibility

  • 使用analytical tools分析HTML,如SEO toolkit from MS,  Webmaster Tools from Google, W3C Markup Validation Service
  • 使用Browser插件观察结构,如IE的F12可打开developer Toolbar。
  • WAI-ARIA for accessibility

Plan and implement globalization and localization

  • planning a localization strategy
  1. 从HTTP头的Accept-Language取得browser的preferred language,但要设置<system.web>的<globalization culture="auto" uiculture="auto" enableclientbasedculture="true" />
  • 使用resource到UI
  1. 使用resx file
  2. 在client端使用globalize.js
  • client端主动设置culture
  • 使用satellite assemblies,使用al.exe生成satellite dlls.

Design and implement MVC controllers and actions

  • attributes和filters
  1. RequireHttpsAttribute
  2. ValidateAntiForgeryTokenAttribute
  3. ValidateInputAttribute
  4. AuthorizeAttribute
  5. ChildActionOnlyAction
  6. ActionFilterAttribute
  • OnActionExecuting
  • OnActionExecuted
  • OnResultExecuting
  • OnResultExecuted
  • 使用attributes
  1. on the action iteslf
  2. on controller level
  3. through global filters,如filters.Add(new RequireHttpsAttribute());
  • 实现action的行为
  • 实现action的result
  1. ContentResult
  2. EmptyResult
  3. FileResult
  4. JavaScriptResult
  5. JsonResult
  6. PartialViewResult
  7. RedirectResult
  8. RedirectToRouteResult
  9. ViewResult
  • 实现model binding
  1. DefaultModelBinder
  2. LinqBinaryModelBinder
  3. ModelBinderAttribute
  4. ModelBinderDictionary

weakly-typed style,如@Html.TextBox("login.UserName")

使用Bind attribute,

如public ActionResult Login([Bind(Prefix="login")]LoginUser user)

public ActionResult Save([Bind(Exclude="Salary")]Employee emp)

使用value provider取model

    • FormsValueProvider
    • QueryStringProvider
    • HttpFileCollectionValueProvider
    • RouteDataValueProvider

Design and implement routes

  • 使用MapRoute定义一个route
  • 使用route的限制,如 new {id=@"\d+"}
  • ignore一个route
  • Adding custom route parameters
  • 使用area

Control application behavior by using MVC extensibility points

  • 使用filter和controller factory
  1. Authorization
  2. Action
  3. Result
  4. Exception
  • 通过action result控制,override ExecuteResult() of System.Web.Mvc.ActionResult
  • 通过view engine
  • 通过model binder
  • 通过route handler

Chapter 3: Develop the user experience的更多相关文章

  1. Chapter 2: Design the user experience

    Apply the user interface design for a web application 介绍了Css的常用属性和html5的新element,以及Htmlhelper的简单方法,如 ...

  2. halcon算子

    halcon的算子列表   Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样 ...

  3. halcon的算子列表

    Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训 ...

  4. Halcon 常用算子使用场合

    Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训 ...

  5. Halcon算子解释

    Halcon算子解释大全 Halcon/Visionpro视频教程和资料,请访问 重码网,网址: http://www.211code.com Chapter 1 :Classification 1. ...

  6. [eBook]Inside Microsoft Dynamics AX 2012 R3发布

    最近一本关于Microsoft Dynamics AX 2012开发的书<Inside Microsoft Dynamics AX 2012 R3> 发布. Book Descriptio ...

  7. Halcon算子含义

    1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训练数据上. 2.classify_class_gmm ...

  8. Girl Develop It Chapter Leaders at 2015 Annual Leadership Summit

    Girl Develop It Chapter Leaders at 2015 Annual Leadership Summit Corinne Warnshuis, Executive Direct ...

  9. Android Programming: Pushing the Limits -- Chapter 4: Android User Experience and Interface Design

    User Stories Android UI Design 附加资源 User Stories: @.通过写故事来设计应用. @.每个故事只关注一件事. @.不同的故事可能使用相同的组件,因此尽早地 ...

随机推荐

  1. VS2012 调试时 局部变量显示不全的问题解决

    在工程上右键,打开属性页,配置属性——C/C++——优化,将优化改为“已禁用/Od“

  2. Servlet入门

    1.在tomcat中新建一个day01web应用,然后在web应用中新建一个web-inf/classes目录:2.在classes目录中新建一个FirstServlet.java文件:package ...

  3. EF的增删改查

    //获取分组信息        public List<UserGroupLogSys> GetUserGroupLogSyslist(int pageIndex, int pageSiz ...

  4. The Nine Indispensable Rules for HW/SW Debugging 软硬件调试之9条军规

    I read this book in the weekend, and decided to put the book on my nightstand. It's a short and funn ...

  5. 解决protobuf不能直接在IOS上使用,利用protobuf-net在IOS上通讯

    ---------------------------------------------------------------------------------------------------- ...

  6. Ubuntu下libpcap安装

    1.首先按下面的博客教程下载和安装四个软件包: 点击打开链接 2.这四个软件都安装好之后按下面教程新建Makefile文件和test.c文件: 点击打开链接 Makefie: all: test.c ...

  7. 2016 - 2 - 19 ARC内存管理知识总结(一,arc基本概念及alloc等方法的实现)

    一. ARC的基本概念 1. 在objc中采用automatic reference counting 机制, 让编译器来进行内存管理.在降低程序崩溃,内存管理泄漏等风险的同时,很大程度减少了程序员的 ...

  8. Docker简明教程

    Docker简明教程 [编者的话]使用Docker来写代码更高效并能有效提升自己的技能.Docker能打包你的开发环境,消除包的依赖冲突,并通过集装箱式的应用来减少开发时间和学习时间. Docker作 ...

  9. php大力力 [049节] php函数implode()

    implode()[1]  函数返回一个由数组元素组合成的字符串. 注释:implode() 函数接受两种参数顺序.但是由于历史原因,explode() 是不行的,您必须保证 separator 参数 ...

  10. oracle xmltype导入并解析Excel数据 (二)规则说明

    规则表字段说明如下: 其中RULE_FUNC_CUSTOMIZE表示,用户自己写函数,去判断数据是否合法,存储的是函数的名字 此函数的参数只有一个,该列的值,字段类型是Varchar2, 校验失败的话 ...