2011-03-09 113 views
0

我已經編寫了一個名爲DetailsForm的Html Helper,以減少在視圖中顯示字段時的重複。在一個視圖 - 實際上是一個局部視圖,ASCX文件 - 我指的是這樣的:ASP.NET MVC從視圖中引用Html Helper

Storyboard.Helpers.DetailsForm.LabelAndData(Html, m => m.id) 

不過想是指這樣的:

LabelAndData(Html, m => m.id) 

A「使用」指令沒有按在ascx文件中似乎不允許。有沒有相同的東西?

回答

1

你應該能夠導入命名空間在你的ASCX的頂部,就像這樣:

<%@ Import Namespace="Storyboard.Helpers" %> 

UPDATE

讀你的評論,我猜你的助手看起來是這樣的:

public static Something LabelAndData(this HtmlHelper html, ..... 

在這種情況下,你會這樣稱呼它在您的觀點:

Html.LabelAndData(m => m.id) 

希望有幫助!

+0

我得到「一個使用命名空間指令只能應用於名稱空間;'Storyboard.Helpers.DetailsForm'是一個類型不是一個命名空間」 – Dan 2011-03-09 16:05:29

+0

所以我嘗試使用只是Storyboard.Helpers,但它回來抱怨「名稱」 LabelAndData'不會在當前上下文中調用「。 – Dan 2011-03-09 16:06:53

+0

看看我的更新:) – 2011-03-09 16:07:56

0

如果您使用與您創建的默認Html助手相同的名稱空間作爲MVC的System.Web.Mvc.Html,那麼您無需在任何地方引用您創建的Html助手。

+0

這很有趣,知道,謝謝。 – Dan 2011-03-09 16:14:25