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
形如:




那么Asp.net MVC中是如何绑定自定义的Helper的呢?
其实Asp.net MVC的View也有代码文件即类似 index.aspx.cs
代码文件继承于ViewPage
下面用一个实例来讲
我首先我自定义一个Helper
实现了对字符串的一些小扩展












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















如果这个Helper你想不仅在此一个文件中使用
那么可以通过将属性 写在一个BaseViewPage的基类中 然后所有的View都继承于自定义的BaseViewPage来实现
同样的,Master文件中也可以通过类似的方法来完成使用自定义的Helper