Mvc Helper电话

时间:2012-01-31 09:49:29

标签: c# asp.net-mvc helpers

我正在编写一些自定义帮助程序,当前的帮助程序涉及一种“数据网格控件”类型帮助程序,我似乎遇到了一些障碍。

如果我在剃须刀视图中,我会使用Html.EditorFor(someExpression)这样的东西,而且我似乎无法在我的自定义帮助器中的帮助程序代码的上下文中找到一种方法。

实际上,我试图从帮助者中调用帮助器。

以下是我能想到的最基本形式的例子:

public static MvcHtmlString Test(dynamic Model)
{
   return new MvcHtmlString( Html.textBox(Model.SomeProperty) )
}

有什么想法吗?

当我在我的代码中添加这样的using语句时,我发现这是多么愚蠢......

using Html = System.Web.Mvc.Html;

谈论简单......注意自己......注意框架!!!

1 个答案:

答案 0 :(得分:1)

将您的帮助方法改为扩展方法。

public static MvcHtmlString Test(this HtmlHelper html, dynamic Model)
{
   return new MvcHtmlString( html.textBox(Model.SomeProperty) )
}

你先调用它,然后使用名称空间(方法所在的类),然后只使用Html.Test(Model)