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测试题

    您的回答: 1.我们可以在下列哪个 HTML 元素中放置 Javascript 代码? 您的回答:<script> 2.写 "Hello World" 的正确 Java ...

  2. 浅谈Android系统移植、Linux设备驱动

    一.Android系统架构 第一层:Linux内核 包括驱动程序,管理内存.进程.电源等资源的程序 第二层:C/C++代码库 包括Linux的.so文件以及嵌入到APK程序中的NDK代码 第三层:An ...

  3. webpack vuejs项目学习心得

    最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/d ...

  4. Mysqli封装

    <?php //headerheader('content-type:text/html;charset=UTF-8'); class DB {    //定义属性    private $ho ...

  5. PAT 1072. Gas Station (30)

    A gas station has to be built at such a location that the minimum distance between the station and a ...

  6. C++复数类对除法运算符 / 的重载

    C8-1 复数加减乘除 (100.0/100.0 points) 题目描述 求两个复数的加减乘除. 输入描述 第一行两个double类型数,表示第一个复数的实部虚部 第二行两个double类型数,表示 ...

  7. HDU5950(矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5950 题意:f(n) = f(n-1) + 2*f(n-2) + n^4,f(1) = a , f(2 ...

  8. Caused by: java.lang.NoClassDefFoundError:

    tomcat启动不了 报错信息头如下: Caused by: java.lang.NoClassDefFoundError: at java.lang.Class.getDeclaredMethods ...

  9. PR视屏剪切

    一款常用的视频编辑软件,由Adobe公司推出.现在常用的有CS4.CS5.CS6.CC.CC 2014及CC 2015版本.是一款编辑画面质量比较好的软件,有较好的兼容性,且可以与Adobe公司推出的 ...

  10. 视音频技术作业一:比较CCD与CMOS摄像的区别

    作业详解: CCD与CMOS简介: CCD: CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件,因而具有灵敏度高.抗强光.畸变小.体积小.寿命长.抗震动 ...