艾伟_转载:ASP.NET MVC 2博客系列之一:强类型HTML辅助方法

这是我针对即将发布的ASP.NET MVC 2所撰写的贴子系列的第一篇,这个博客贴子将讨论 ASP.NET MVC 2中新加的强类型HTML辅助方法。

现有的HTML辅助方法

ASP.NET MVC 1中发布了一套HTML辅助方法,可以用来在视图模板中帮助生成HTML界面。例如,要输出一个文本框,你可以在你的.aspx视图模板中使用Html.TextBox()辅助方法编写下列代码:

上面辅助方法的第一个参数提供了文本框的名称及id,第二个参数指定了它该有的值,然后上面的辅助方法会显示象下面这样的HTML到浏览器:

新的强类型HTML辅助方法

大家对ASP.NET MVC 2要求的一个常用特性是,要我们支持强类型的HTML辅助方法,这样的辅助方法使用 lambda 表达式来引用传到视图模板中的模型或视图模型。这可以促成更好的编译时视图检查(可以在编译时发现缺陷,而不是在运行时),还可以促成视图模板中更好的代码intellisense支持。

新的强类型HTML辅助方法现在已经内置于ASP.NET MVC 2中了,这些方法使用"Html.HelperNameFor()”的命名规范。例如,Html.TextBoxFor(), Html.CheckBoxFor(), Html.TextAreaFor()等等。它们支持使用lambda表达式来指定元素的名称和id,以及要显示的值。

例如,除了上面的Html.TextBox()辅助方法外,使用ASP.NET MVC 2,我们现在还可以使用新的Html.TextBoxFor()辅助方法:

注意上面,我们不再需要指定 “ProductName” 字符串参数,lambda表达式是相当灵活的,除了值以外,我们还可以获取我们模型对象中的属性/字段的名称。

因为这些HTML辅助方法是强类型的,编写lambda表达式时我们还可以在Visual Studio中得到完整的intellisense支持:

显示的HTML跟前面的后期绑定的HTML辅助方法版本的输出是一样的:

内置于ASP.NET MVC 2中的强类型HTML辅助方法列表

ASP.NET MVC 2对下列强类型的HTML辅助方法提供内置支持:

HTML元素辅助方法:

  • Html.TextBoxFor()
  • Html.TextAreaFor()
  • Html.DropDownListFor()
  • Html.CheckboxFor()
  • Html.RadioButtonFor()
  • Html.ListBoxFor()
  • Html.PasswordFor()
  • Html.HiddenFor()
  • Html.LabelFor()

其他辅助方法:

  • Html.EditorFor()
  • Html.DisplayFor()
  • Html.DisplayTextFor()
  • Html.ValidationMessageFor() 

我会在本系列的后期贴子中讨论ASP.NET MVC2中改进了的“自动脚手架(auto-scaffold)"功能时,对新的Html.EditorFor() 和Html.DisplayFor()辅助方法做进一步介绍。在本系列的下一个博客贴子中讨论ASP.NET MVC2中改进了的验证支持时,我们还将使用Html.ValidationMessageFor()辅助方法。

Scaffolding中的强类型HTML辅助方法

VS 2008 和 VS 2010两者在用“添加视图”命令“生成(scaffolding)”新的强类型视图模板时,现在都会默认使用新的强类型HTML辅助方法。

例如,假设我们有一个象下面这样的简单 “ProductsController” 类,有一个“Edit” action方法,会为“Product”模型类显示一个编辑表单:

我们可以使用Visual Studio在Edit action方法中右击,选择“添加视图”上下文菜单命令来创建一个视图模板,我们将选择创建一个“Edit”模板,该模板是使用Product对象来生成的(scaffolded):

在ASP.NET MVC 2中,默认生成的视图模板现在使用了新的强类型HTML辅助方法来引用Product模型对象:

结语

包含在ASP.NET MVC2中的强类型HTML辅助方法提供了一个很好的方式来在视图模板中得到更好的类型安全。这促成了对你的视图的更好的编译时检查(允许你在编译时,而不是运行时发现错误),还在Visual Studio中编辑视图模板时支持更丰富的intellisense。

希望本文对你有所帮助,

Scott

时间: 2024-11-08 21:41:20

艾伟_转载:ASP.NET MVC 2博客系列之一:强类型HTML辅助方法的相关文章

ASP.NET MVC 2博客系列之一:强类型HTML辅助方法

这是我针对即将发布的ASP.NET MVC 2所撰写的贴子系列的第一篇,这个博客贴子将讨论 ASP.NET MVC 2中新加的强类型HTML辅助方法. 现 有的HTML辅助方法 ASP.NET MVC 1中发布了一套HTML辅助方法,可以用来在视图模板中帮助生成HTML界面.例如,要输出一个文本框,你可以在你的.aspx视图模板中使用Html.TextBox()辅助方法编写下列代码: 上面辅助方法的第一个参数提供了文本框的名称及id,第二个参数指定了它该有的值,然后上面的辅助方法会显示象下面这样

艾伟_转载:ASP.NET MVC 2博客系列

过去的6个月里,ASP.NET开发团队一直不断地发布了ASP.NET MVC 2的预览版,然后是beta版,现在则是RC(最终版的候选版). 鉴于最终版的发布也不太远了,我想该是开始一个含多个部分的ASP.NET MVC 2 新博客系列的时候了,该系列旨在讨论新的特性以及该如何充分利用它们. ASP.NET MVC 2 去年三月份时,我们发布了ASP.NET MVC 1.0.自那以后,几乎有一百万开发人员下载和使用了1.0的最终版,它的人气(popularity)逐月递增. ASP.NET MV

ASP.NET MVC 2博客系列

过去的6个月里,ASP.NET开发团队一直不断地发布了ASP.NET MVC 2的预览版,然后是beta版,现在则是RC(最终版的候选版). 鉴于最终版的发布也不太远了,我想该是开始一个含多个部分的ASP.NET MVC 2 新博客系列的时候了,该系列旨在讨论新的特性以及该如何充分利用它们. ASP.NET MVC 2 去年三月份时,我们发布了ASP.NET MVC 1.0.自那以后,几乎有一百万开发人员下载和使用了1.0的最终版,它的人气(popularity)逐月递增. ASP.NET MV

艾伟_转载:一个MVC分页Helper

本人写的一个分页Helper,支持普通分页(也就是,首页.上一页.下一页.末页等),综合分页(普通分页和数字分页的综合).下面是分页效果: 分页代码: PagerHelper.cs 代码   1 using System;  2  using System.Collections.Generic;  3 using System.Collections.Specialized;  4 using System.Linq;  5 using System.Web;  6 using System.

csdn上怎样转载-在CSDN上怎样转载文章到空间或者博客

问题描述 在CSDN上怎样转载文章到空间或者博客 初玩CSDN,在上面看到一些好的文章,想把它转载到自己的空间和博客上方便以后查阅,可是找了半天也没找到转载的标签,百度搜了下,说不能被转载什么的,可是我见别的博客上说,欢迎转载本文章,但是要标注原出处,还要改什么东西!到底怎么转载,如知道的请告诉我下,在此谢谢大家了!! 解决方案 直接复制粘贴即可,有的文章博主自己加上了自己的链接,你就直接粘贴到你的博客就行, 不要去掉博主的链接 ,尊重原创,这样就属于转载的行为.有的文章博主没有加上自己的链接,

浅谈将博客群推广做到极致的方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 今天我们主要来谈下博客群推广,此推广非彼推广,以前所说的博客群推广是用群建软件建立大量博客,然后将内容相同的文章群发出去,达到提高网站展示在网络上分布的广度.随着搜索引擎给予博客权重越来越低,此方法已不再适用.我们今天要谈的博客群推广主要是以多个博客单向互链,内部链接统一指向主站的,形成一个封闭的链环,俗称"链轮"<

帝国调用wp博客最新或随机文章的方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 目前在国内比较流行的几款开源程序有帝国cms.织梦cms.wordpress等等,这些对建站和做seo优化的站长一定不陌生,一般都有在首页或者内页调用最新或是随机文章的嗜好,如果这些文章是同一个开源程序的,那比调用就相对容易一些.如果是不相同的怎么办?下面我讲一下帝国cms调用wordpress博客最新或随机文章的方法,仅供大家参考. 1.

中麒推广谈博客营销的几种有效方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 这几年博客的火热程度大家都看在心里,记在心上,从开始名人墨客开博,到现在连小学生都有自己的博客,可谓是全民开始博客运动了.所以网络营销中博客营销也成了一块很重要的战地.那么中麒推广就和大家谈谈博客营销几种实用的方法. 一,通过博客炒作事件 从开始留意时事热点事件,到明星八封揭密,除了当下最流行的事件,比如那惊心动魄的XX跳.就是娱乐新闻比较火

艾伟_转载:学习 ASP.NET MVC (第五回)理论篇

本系列文章导航 学习 ASP.NET MVC (第一回)理论篇 学习 ASP.NET MVC (第二回)实战篇 学习 ASP.NET MVC (第三回)实战篇 学习 ASP.NET MVC (第四回)实战篇 学习 ASP.NET MVC (第五回)理论篇 通过前几篇文章,我们通过ASP.NET MVC创建了一个简单的应用程序,学习了ASP.NET MVC的基本框架和工作流程.但是Demo中很多东西都是VS为我们自动生成的,比如View的html代码等.此文和大家一起学习一下ASP.NET MVC