Asp.net Mvc Framework 八 (Helper)

本人已经疯了...快写完了而关掉浏览器丢失数据之事在此文章上发生了两次,所以本人倍加珍惜

这节讲 一下Asp.netMVC中的Helper

何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组

其实Asp.net MVC的View是Aspx的页面,本身可以声明定义方法,那为什么要有Helper呢

其实无非是将界面与逻辑分离,而且Asp.net MVC也并不只支持Aspx一种View,在扩展包中,也有Castle的NVelocity引擎和Boo所以,如果在Aspx中定义方法的话会影响其扩展性和可移植性.而且代码也不太好看.

UrlHelper的Action方法 用于生成一个超级链接,它的重载为

public string Action(string actionName);
public string Action(string actionName, object values);
public string Action(string actionName, RouteValueDictionary valuesDictionary);
public string Action(string actionName, string controllerName);
public string Action(string actionName, string controllerName, object values);
public string Action(string actionName, string controllerName, RouteValueDictionary valuesDictionary);

例如我在View中写Url.Action("Index","Home"),运行后则会生成/Home/Index这个地址

如果你的系统中的URL Routing规则总是变化的话这个Helper则是你必备之选.

public string Encode(string url);这也是UrlHelper的一个方法 使用方法 如<%=Url.Encode("中文")%>功能与Server.UrlEncode相同,这里不多说了

如果你有特殊需要可以用3.0新特性,扩展方法来为UrlHelper来增加新的功能

HtmlHelper则是另一个常用之Helper

它是来生成HTML代码用的

eg.

<%=Html.ActionLink("首页","index","Home")%>则生成<a href="/Home/Index">首页</a>

重载方法有:

public string ActionLink(string linkText, string actionName);
public string ActionLink(string linkText, string actionName, object values);
public string ActionLink(string linkText, string actionName, RouteValueDictionary valuesDictionary);
public string ActionLink(string linkText, string actionName, string controllerName);
public string ActionLink(string linkText, string actionName, string controllerName, object values);    public string ActionLink(string linkText, string actionName, string controllerName, RouteValueDictionary valuesDictionary);
当然HTMLHelper的种类就比UrlHelper多得多了

时间: 2024-12-21 03:45:03

Asp.net Mvc Framework 八 (Helper)的相关文章

ASP.NET MVC Framework 系列

序言 做为设计模式的王者,MVC在众多领域都成为良好的模型的代名词,从前在ASP.NET下我们只能依靠Monorail来实现ASP.NET下无控件的MVC,但是现在ASP.NET 下的MVC已经成为现实. 本文只想让大家更直观地认知ASP.NET MVC,如果语言有所不当,还望大家海涵.当然,如果文中有所纰漏还希望大家及时指出,我也好做及时的修改.在下本着对初学者负责的态度来书写本系列中的各篇文章,但期间的恒心与毅力相信过来的人更加明白,所以如果书写有误希望大家谅解. ASP.NET MVC 正

[转]Asp.net Mvc Framework 系列

  from:http://www.cnblogs.com/chsword/archive/2008/03/10/1099474.html 做为设计模式的王者,MVC在众多领域都成为良好的模型的代名词,前日我们只能靠Monorail来实现Asp.net的Mvc的而且确Asp.netMvc已经成为现实 本文只想让大家更直观地认知Asp.net Mvc,如果语言有所不当,还望先贤海涵,当然,如果文中有所纰漏还希望大家指出 尽量本着对初学者负责的态度来写,但期间的恒心与毅力相信过来的人更加明白,所以如

ASP.NET MVC Framework与WCSF中MVP模式的比较

概述 MVC模式已经出现了几十年了,在GUI领域已经得到了广泛的应用,由于微软ASP.NET MVC Framework的出现,致使MVC一度成为.NET 社区的热名话题.作为MVC的变种MVP模式,也已经出现好几年了,在微软模式与实践小组提供的Web Client Software Factory中,给出了实现 MVP模式的应用程序最佳实践,本文将试着对这两种实现比较一二. MVC(Model-View-Controller,模型-视图-控制器)模式是80年代 Smalltalk-80出现的一

ASP.NET MVC Framework体验(5):路径选择(URL Routing)

概述 在传统的ASP.NET应用程序中,发生一个请求之后将映射到一个.aspx文件,且会 对应到一个具体的物理aspx文件.ASP.NET MVC Framework中,进入一个请求之后,不再是 映射到.aspx文件,而是由MVC Framework中提供的路径选择引擎,映射到正确的Controller 和Action执行请求.ASP.NET MVC Framework中URL路径映射规则定义在Global.asax中,这 在一定程序上带来了很多的灵活性,如果想要修改URL应用结构的话,只需要修

ASP.NET MVC Framework体验(4):控制器

概述 在MVC中,Controller用来处理和回应用户的交互,选择使用哪个View来进行显 示,需要往视图中传递什么样的视图数据等.ASP.NET MVC Framework中提供了IController 接口和Controller基类两种类型,其中在Controller提供了一些MVC中常用的处理,如定位 正确的action并执行.为action方法参数赋值.处理执行过程中的错误.提供默认的 WebFormViewFactory呈现页面.IController只是提供了一个控制器的接口,如果

ASP.NET MVC Framework体验(3):表单提交

概述 在前面的两篇文章总,我们分别做了一个简单的ASP.NET MVC的例子和进行数据 的绑定,在本文中,将通过ASP.NET MVC Framework实现表单的提交,你可以看到,在这里 有多种方法来获取表单数据,可以自动映射.通过Request对象获取等. 实现新增数 据 1.这里我们还采用上一篇做过的Blog示例(在后面的文章中,我将一直使用该示例) ,在这之前,先修改一下上次示例中的BlogRepository,为其增加一个Add方法: public void Add(Post post

ASP.NET MVC Framework体验(2):显示列表数据

概述 ASP.NET WebForm下,显示列表数据,经常会使用服务器控件GridView. DataList等.在ASP.NET MVC Framework中,我们有两种方式进行显示数据,一是使用行内 代码,即通过循环视图数据使用<%=%>标记进行呈现:二是使用服务器控件,同样可 以把视图数据绑定在服务器控件,如ASP.NET 3.5中的新控件ListView. 准备数据访 问 这里我们显示一个Post的列表DataContext和实体定义如下: [Database(Name="B

ASP.NET MVC Framework体验(1):从一个简单实例开始

概述 12月10日微软发布了ASP.NET 3.5扩展的预览版,在其中包括了ASP.NET MVC Framework.ASP.NET AJAX改进.ASP.NET动态数据支持.ASP.NET SIlverlight支持.以及 ADO.NET Data Services等.我也在第一时间下载下来进行了安装,体验了一下微软的 ASP.NET MVC Framework. 提起MVC,相信大家都不陌生了,这里简单的提两句,将 一个应用的实现分成三部分:模型(Model).视图(View).控制器(C

Asp.net Mvc Framework在.net 2.0/IIS6下运行,补全

之前写过篇: Asp.net Mvc Framework 四 (在.net2.0下运行) 虽然在其它文章中也隐含了一些2.0运行的说明,但 是不够详细 下面说全 必备:.net framework 2.0 sp1 (v2.0.50727) 用Vs2008打开MVC工程 将目标平台转换为.net 2.0 (其实平台保持3.5也可以,只是不要在View中写C#3.0的语句,这个就要自己约束了,而转换后它是视为错误的) 复制System.Core.dll到Bin文件夹   如果编译通过则表示已经可以运