[MSDN]ASP.NET MVC2(3)MVC中的View实现技巧(上)

说明:本内容来自微软的webcast,讲师为苏鹏。视频没有书方便(想看哪页就看哪页),所以抄录要点和老师语录。

 

内容介绍

-          什么是veiw

-          在定义中使用强类型

-          使用自定的ViewModes

-          Htmlhelper

预备知识

-          安装VS2010

-          了解ASP.NET

-          了解设计模式基本概念

什么是View

-          ViewDataDictionary

view层的核心是ViewDataDictionary类,接受用户的请求,根据请求把查询到的结果生成HTML。请求的数据多半来自Model层的数据类实体。

数组对象,下表索引

链表对象,for each 索引

字典对象,名称索引

View的常用样式

-          继承system.web.mvc.viewpage

-          冒号<%:ViewData[“message”]%>

-          不能使用服务器控件

View容易混淆的概念

-          View负责输出数据而非样式

View层无法测试

表示层通常是黑匣子测试,即模拟用户的可能的操作。

指定View

-          指定View作为输出

Content:样式

Controller:控制逻辑层

Models:数据层

Scirpt:脚本层

View:表示层

Shared:找不到Action就去shared去找,再找不到就抱错(运行时)。

Return View(~/url/other/view.aspx);

View中使用强类型

-          view中使用强数据类型

clip_image002[4]

ViewModels

-          自定义ViewModels

一般的很少单纯的把一个表的内容显示出来,通常是从视图得到数据。是因为表中有一对多的关系存在,希望显示的时候把这结构关系都显示出来。例如,一个人有多个银行账户,通常根据人得到所有银行账户的信息。在这种情况下,需要自定义一个ViewModel,在Model层里写一个新的Model类。这个类可以包含其他所有的类,

clip_image004[4]

HtmlHelper

-          为什么我们需要它?

能更方便的控制Html样式

可以重写ViewEngine ActionResult

HtmlHelper类与扩展方法

-          ViewPage提供了一个名为HtmlHtmlhelper属性

-          Using System.Web.Mvc.Html名字空间

clip_image006[4]

HTML中的强类型

支持强类型,意味可以用Lambda表达式寻找变量,不必使用字符串。好处:

可以不用检查类型

可以智能感知

clip_image008[4]

Html.Encode

-          等价于<%:%>

Html.TextBox

-          <%:Html.TextBox(“name”)%>

-          等价于

-          <input id=”name” name=”name” type=”text” value=””/>

 

Html.TextBoxFor 支持Lambda表达式

附:
标题:粗体+斜体+黑色
ppt文字:宋体+黑色
作者语录:斜体+黑色/红色/蓝色
我的心得:@开头

人的一生应该这样度过:当他回首往事的时候,不会因为虚度年华而悔恨,也不会因为碌碌无为而羞愧。
原文地址:https://www.cnblogs.com/htht66/p/2330497.html