2012-01-31 56 views
1

我正在寫一些自定義幫助程序,當前的幫助程序涉及到一種「數據網格控件」類型幫助程序,我似乎遇到了一些障礙。Mvc幫助電話

如果我在剃刀視圖中發現了類似Html.EditorFor(someExpression)的東西,我似乎無法在我的自定義幫助程序內的幫助程序代碼的上下文中找到一種方法。

實際上,我試圖從助手內部調用助手。

下面是最基本的形式我能想到的一個例子:

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

任何想法?

我想出如何愚蠢,這是當我加入using語句像這樣我的代碼...

using Html = System.Web.Mvc.Html; 

談談簡單...注意自我......要注意的框架! !

回答

1

改爲將您的幫助器方法改爲擴展方法。

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

你叫這首先有一個使用命名空間在哪裏(類哪裏)的方法的,然後就Html.Test(Model)