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

 

内容介绍

-          Htmlhelper

-          ViewEngine 深入介绍

预备知识

-          安装VS2010

-          了解ASP.NET

-          了解设计模式基本概念

Html.ActionLinkHtml.RouteLink

-          这两个控件都根据用户输入生成导航信息

-          ActionLink根据生成调用另外Controller的链接

1

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

2

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

3

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

Html.RouteLink部分

1格式

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

Html.BeginForm

-          这一标记完全模拟<from>标记

类似htmlformfrom包含多个input 表单,至少有一个input type=button

方式1

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

方式2推荐

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

Html.Hidden

-          用于生成隐藏文本

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

Html.DropDownList Html.ListBox

-          用于显示列表或选择值

-          用于限制用户的输入

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

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

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

强类型

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

Html.PassWord

- Password的工作方式和textbox一样,只是提交以后数据会自动清空

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

Html.RadioButton

-          生成一组选择值,并要求用户选择其一

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

Html.PartialHtml.RenderPartial

-          用于输出html片段

<%Html. RenderPartial (“MyUserControl”)%>

<%:Html.Partial(“MyUserControl”)%>

两个方法功能一样

RenderPartial相当于用Response.Write直接输出,在大型网站中,比Partial性能好。

RenderPartialResponse.Write输出不用编译,所以不要冒号。

Partial使用HtmlHelper类,所以需要冒号。

可输出ascxaspx

Partial有四个构造函数

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

Html.ActionHtml.RenderAction

-          用于实现指定Controller的指定Action 调用

Html.Action部分

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

上图:

A Home controller 中,可以调用[ChildActionOnly]-Menu()

B PartialView 新概念,是针对[ChildActionOnly]来做的,返回一小段数据。

强类型:

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

页面中调用Menu 的内容

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

 

RenderAction部分

可以加一般类型参数,还可以加特殊类型参数.-对象的实例.

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

Action 接受参数-类的实例

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

View 调用并显示

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

Action 不会像C#那样,根据函数的名字和参数重载

它需要加一个Attribute –[ActionName(“coolmenu”)]

ActionNmae 可以 代替函数名 for 调用时。

如下图:

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

调用的时候Action 应该用”coolmenu”,不是menu

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

Html.TextArea

-          用于生成<textarea>标签

不是richtextbox ,会对html 进行 encoding.

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

Html.ValidationMessage

-          显示ModelState 验证结果

验证结果显示在view 层,一些商业规则在Model层,不再 view层是框架决定的。

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

Html.ValidationSummary

-          显示一组报错数据

错误明细,条目。

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

统共的错误,笼统地错误。

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

HTML模板

-          mvc2支持自定义模板

View引擎介绍

生命周期

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

 

记载时候,有两件事最重要

第一件事是它能玩得转,需要路由信息,要加入Router

第二件事是它需要知道使用哪种引擎做呈现,要加入ViewEngine。默认情况下不写。

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

先是清掉,然后注册。

使用View

-          IViewEngine 接口

如何重写引擎-实现IViewEngine 接口

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

PartialView – childcontrol配对,view- controller 配对。

View

-          IView接口

一个函数输出的意思

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

ViewContext属性

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

Httpcontext:http上下文,response,request,server,session

Controller:controller实例

Routedata:返回router对象,让它知道从那个路由过来的。

ViewData:从controller带回的数据对象

Tempdata:保存一些从controller带回的数据对象,通常情况下它是一个cache过的对象。数据意义不大。

View:生成html显示

Clientvalidationenabled:是否在客户端验证,客户端不做就在Model做。

Formcontext:对客户端form 判定的时候依赖这个对象。包含客户端form的一些信息。

Formidgenerator:判定form的一些信息

Ischildaction:判定返回结果是什么。True的话,就用portailviewrender false的话就用view来做。

Parentactionviewcontext:用得少

Write:输出基本的信息

选择一个ViewEngine

默认的WebFormViewEngine优势

-          很像WebForm

-          使用masterpage

-          支持使用C#或者vb.net 写脚本

-          使用System.Web.Ui.Page

-          VS2010自带智能感知

使用不同的ViewEngine

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

Spark(一种View引擎)

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

常见问题

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

 

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

 

 

相关文章:

  • 2021-10-09
  • 2022-12-23
  • 2021-09-28
  • 2021-09-20
  • 2022-12-23
  • 2021-10-23
  • 2021-12-03
  • 2022-12-23
猜你喜欢
  • 2021-11-21
  • 2022-01-24
  • 2021-07-20
  • 2021-10-28
  • 2022-01-29
相关资源
相似解决方案