2011-03-09 109 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