静态类型不能用作htmlhelpers中的参数

时间:2015-03-01 19:19:11

标签: asp.net-mvc asp.net-mvc-4

我创建了这样的自定义HtmlHelper:

public static class HtmlHelper
{
    public static MvcHtmlString CreateHr(this HtmlHelper helper)
    {
        return MvcHtmlString.Create("<div class='line'></div>");
    }
}

但是当我构建项目时,我得到了这个错误:

  

静态类型不能用作参数

我搜索了Google,但我找不到类似的问题。 我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

将您的课程称为HtmlHelper以外的其他内容,例如HtmlHelperExtensions

不仅不允许将静态类作为方法参数类型(因为它没有任何意义),你会想到要扩展的类。

答案 1 :(得分:0)

不要为您的助手HtmlHelper命名,因为这意味着您尝试从MVC框架中隐藏基础HtmlHelper。而是尝试:

using System;
using System.Web.Mvc;

namespace MvcApplication1.Helpers
{
     public static class HrExtensions
     {
          public static string CreateHr(this HtmlHelper helper)
          {
               return MvcHtmlString.Create("<div class='line'></div>");
          }
     }
}

更多详细信息:http://www.asp.net/mvc/overview/older-versions-1/views/creating-custom-html-helpers-cs