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. Java泛型学习笔记 - (一)泛型的介绍

    一.什么是泛型:泛型的作用是用来规定一个类, 接口或方法所能接受的数据的类型. 就像在声明方法时指定参数一样, 我们在声明一个类, 接口或方法时, 也可以指定其"类型参数", 也就 ...

  2. 存储过程详解与java调用(转)

    存储过程的一些基本语法: --------------创建存储过程----------------- CREATE PROC [ EDURE ] procedure_name [ ; number ] ...

  3. html页面3秒后自动跳转的方法有哪些

    在进行web前端开发实战练习时,我们常常遇到一种问题就是,web前端开发应该如何实现页面N秒之后自动跳转呢?通过查找相关html教程,总结了3个方法: 方法1: 最简单的一种:直接在前面<hea ...

  4. 为什么要学习java?

    前面说了什么是java java只是一门语言,中文,英语,c++,c#等等数之不尽的语言 java的应用领域: 1)安卓应用 2)金融业服务器的应用 3)Java Web应用 4)软件工具 5)交易应 ...

  5. C语言实现粒子群算法(PSO)一

    最近在温习C语言,看的书是<C primer Plus>,忽然想起来以前在参加数学建模的时候,用过的一些智能算法,比如遗传算法.粒子群算法.蚁群算法等等.当时是使用MATLAB来实现的,而 ...

  6. Ubuntu Git 入门

    参考自 码农生涯 中大熊猫 hustpzb的专栏 1 在github创建账号--创建repository 2 创建后网页会出现提示,指导如何使用 3 安装git sudo apt-get instal ...

  7. DotNetBar TabControl的使用

    这个和系统的TabPage不同,一个TabPage分为了DevComponents.DotNetBar.TabItem,DevComponents.DotNetBar.TabControlPanel两 ...

  8. Caffe 源碼閱讀(六) InternalThread

    类InternalThread是一个虚类,是Caffe中的多线程接口,其本质是为封装了boost::thread 看源码可以得到以下结论: 1.每个派生类都需要实现一个InternalThreadEn ...

  9. XML代码生成器——XMLFACTORY 简介(二)

    XML代码生成器——XMLFACTORY 简介(二)      因为春节和项目上线的原因,离写上一篇文章的时间已经好久了. 不知道是事情太多了,还是自已效率太低了.总之是时间不够用. 哎,苦逼的程序员 ...

  10. 用HTML和CSS实现WWDC 2015上的动画效果

    用HTML和CSS实现WWDC 2015上的动画效果 动画效果WWDC 2015   原文:https://cssanimation.rocks/wwdc15/ 译者:周晓楷(@Helkyle) 每年 ...