如何在MVC3中有多个HtmlHelperExtensions

时间:2011-07-17 00:39:20

标签: asp.net-mvc

我创建了一个文件并添加了一个HtmlHelperExtensions类。

  public static class HtmlHelperExtensions {

        private const string Nbsp = " ";
        private const string SelAttribute = " selected='selected'";

        public static MvcHtmlString NbspIfEmpty(this HtmlHelper helper, string value)
        {
            var str = string.IsNullOrEmpty(value) ? Nbsp : value;
            return new MvcHtmlString(str);
        }

        etc...

现在我想添加更多带有更多HtmlHelperExtensions的文件。但是,当我这样做时,我收到一个错误说:

Duplicate definition: HtmlHelperExtensions

我可以拥有多个这些课程吗?

2 个答案:

答案 0 :(得分:2)

只要将课程命名为不同的东西。您不允许在一个名称空间下使用重复的类型名称。

这是一个关于创建自定义Html帮助程序的好教程:http://www.asp.net/mvc/tutorials/creating-custom-html-helpers-cs

答案 1 :(得分:1)

您可以按照@Andrew Whitaker所述的不同命名该类,或者您可以使用partial关键字。

public static partial class HtmlHelperExtensions 
{
    // helpers ...
}

public static partial class HtmlHelperExtensions 
{
    // other helpers ...
}