Chapter 3: Develop the user experience
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
- 从HTTP头的Accept-Language取得browser的preferred language,但要设置<system.web>的<globalization culture="auto" uiculture="auto" enableclientbasedculture="true" />
- 使用resource到UI
- 使用resx file
- 在client端使用globalize.js
- client端主动设置culture
- 使用satellite assemblies,使用al.exe生成satellite dlls.
Design and implement MVC controllers and actions
- attributes和filters
- RequireHttpsAttribute
- ValidateAntiForgeryTokenAttribute
- ValidateInputAttribute
- AuthorizeAttribute
- ChildActionOnlyAction
- ActionFilterAttribute
- OnActionExecuting
- OnActionExecuted
- OnResultExecuting
- OnResultExecuted
- 使用attributes
- on the action iteslf
- on controller level
- through global filters,如filters.Add(new RequireHttpsAttribute());
- 实现action的行为
- 实现action的result
- ContentResult
- EmptyResult
- FileResult
- JavaScriptResult
- JsonResult
- PartialViewResult
- RedirectResult
- RedirectToRouteResult
- ViewResult
- 实现model binding
- DefaultModelBinder
- LinqBinaryModelBinder
- ModelBinderAttribute
- 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
- Authorization
- Action
- Result
- Exception
- 通过action result控制,override ExecuteResult() of System.Web.Mvc.ActionResult
- 通过view engine
- 通过model binder
- 通过route handler
Chapter 3: Develop the user experience的更多相关文章
- Chapter 2: Design the user experience
Apply the user interface design for a web application 介绍了Css的常用属性和html5的新element,以及Htmlhelper的简单方法,如 ...
- halcon算子
halcon的算子列表 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样 ...
- halcon的算子列表
Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训 ...
- Halcon 常用算子使用场合
Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训 ...
- Halcon算子解释
Halcon算子解释大全 Halcon/Visionpro视频教程和资料,请访问 重码网,网址: http://www.211code.com Chapter 1 :Classification 1. ...
- [eBook]Inside Microsoft Dynamics AX 2012 R3发布
最近一本关于Microsoft Dynamics AX 2012开发的书<Inside Microsoft Dynamics AX 2012 R3> 发布. Book Descriptio ...
- Halcon算子含义
1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训练数据上. 2.classify_class_gmm ...
- Girl Develop It Chapter Leaders at 2015 Annual Leadership Summit
Girl Develop It Chapter Leaders at 2015 Annual Leadership Summit Corinne Warnshuis, Executive Direct ...
- Android Programming: Pushing the Limits -- Chapter 4: Android User Experience and Interface Design
User Stories Android UI Design 附加资源 User Stories: @.通过写故事来设计应用. @.每个故事只关注一件事. @.不同的故事可能使用相同的组件,因此尽早地 ...
随机推荐
- JavaScript测试题
您的回答: 1.我们可以在下列哪个 HTML 元素中放置 Javascript 代码? 您的回答:<script> 2.写 "Hello World" 的正确 Java ...
- 浅谈Android系统移植、Linux设备驱动
一.Android系统架构 第一层:Linux内核 包括驱动程序,管理内存.进程.电源等资源的程序 第二层:C/C++代码库 包括Linux的.so文件以及嵌入到APK程序中的NDK代码 第三层:An ...
- webpack vuejs项目学习心得
最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/d ...
- Mysqli封装
<?php //headerheader('content-type:text/html;charset=UTF-8'); class DB { //定义属性 private $ho ...
- 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 ...
- C++复数类对除法运算符 / 的重载
C8-1 复数加减乘除 (100.0/100.0 points) 题目描述 求两个复数的加减乘除. 输入描述 第一行两个double类型数,表示第一个复数的实部虚部 第二行两个double类型数,表示 ...
- 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 ...
- Caused by: java.lang.NoClassDefFoundError:
tomcat启动不了 报错信息头如下: Caused by: java.lang.NoClassDefFoundError: at java.lang.Class.getDeclaredMethods ...
- PR视屏剪切
一款常用的视频编辑软件,由Adobe公司推出.现在常用的有CS4.CS5.CS6.CC.CC 2014及CC 2015版本.是一款编辑画面质量比较好的软件,有较好的兼容性,且可以与Adobe公司推出的 ...
- 视音频技术作业一:比较CCD与CMOS摄像的区别
作业详解: CCD与CMOS简介: CCD: CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件,因而具有灵敏度高.抗强光.畸变小.体积小.寿命长.抗震动 ...