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. 使用JavaScript实现复选框全选与取消的功能

    实现效果: html代码: <body> <input type="checkbox" id="checkAll"/>全选<br& ...

  2. Visual Studio 2015 Update 2

    Visual Studio Community 2015(带Update2)(社区版,针对个人免费): 简体中文版 || SHA1:待更新 繁体中文版 || SHA1:待更新 英文版 || SHA1: ...

  3. 如何通过JDBC访问数据库

    Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...

  4. Android Bitmap Drawable 常用摘要

    1.缩放 public Bitmap scalingBitmap(Bitmap bitmap, int newW, int newH) { int w = bitmap.getWidth(); int ...

  5. 使用windows crypt API解析X509证书

    一.版本号 结构体CERT_INFO中的字段dwVersion即为证书版本,可以直接通过下面的代码获得: DWORD dwCertVer = m_pCertContext->pCertInfo- ...

  6. Cardinal样条曲线的Javascript实现(代码篇)

    由上一篇文章得到了Cardinal曲线的矩阵表达式,下面就这个矩阵表达式就可以来对曲线进行插值了. 这里选用了JS来实现,完全是因为之前交作业的时候还不知道怎么在Xcode里建完整的C++OpenGL ...

  7. Ruby-1

    Ruby API 文档 http://www.ruby-doc.org/core-2.0.0/ Programming Ruby http://ishare.iask.sina.com.cn/f/22 ...

  8. 深入理解css系列:清除浮动

    如果出现div嵌套,内层元素浮动,而外层包裹的父元素div未设置高度的时候,那么会出现外层不能被撑开的情况. HTML标签代码: <div class="wrap"> ...

  9. Integer to Roman -- LeetCode 012

    Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...

  10. ios选取相册视频,过滤掉所有图片!

    imagePicker = [[UIImagePickerController alloc]init]; imagePicker.mediaTypes = [NSArray arrayWithObje ...