Asp.net Mvc Framework 十一 (自定义Helper在MVC中的使用)

Monorail中的Helper是绑定在Controller上的

形如:

[Helper(typeof(ChHelper))]

abstract public class BaseBlockController : SmartDispatcherController{

}但本身Helper是使用在View中的,所以 Monorail这种定义方式 略微违背了分离之道

那么Asp.net MVC中是如何绑定自定义的Helper的呢?

其实Asp.net MVC的View也有代码文件即类似 index.aspx.cs

代码文件继承于ViewPage

下面用一个实例来讲

我首先我自定义一个Helper

实现了对字符串的一些小扩展

public class StringHelper
{
  public string Red(string str) {
    return string.Format(@"<span style=""color:red"">{0}</span>",str);
  }
  public string Green(string str) {
    return string.Format(@"<span style=""color:green"">{0}</span>", str);
  }
}

那么我们怎样才能在View使用它呢?

我们可以在View的cs中写以下代码

public StringHelper Str {
      get;
      set;
    }

即为

public partial class Index : ViewPage
  {
    public StringHelper Str {
      get;
      set;
    }
  }

这样我们就可以在View中使用

<%=Str.Red(ViewData["title"])%>这样的代码了

如果这个Helper你想不仅在此一个文件中使用

那么可以通过将属性 写在一个BaseViewPage的基类中 然后所有的View都继承于自定义的BaseViewPage来实现

同样的,Master文件中也可以通过类似的方法来完成使用自定义的Helper

时间: 2024-11-08 23:19:44

Asp.net Mvc Framework 十一 (自定义Helper在MVC中的使用)的相关文章

ASP.NET MVC Framework 系列

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

  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体验(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

mvc4-各位高手求救:ASP.NET MVC 日期范围 自定义验证特性如何实现呢?

问题描述 各位高手求救:ASP.NET MVC 日期范围 自定义验证特性如何实现呢? 各位高手求救:ASP.NET MVC 日期范围 自定义验证特性如何实现呢?想实现一个日期范围自定义验证特性 ASP.NET MVC 自带的RangeAttribute验证不好使?比如:[Display(Name=""出生日期"")][Required(ErrorMessage=""{0}不能为空!"")][Range(typeof(DateT