MVC 5自定义Html助手扩展问题

时间:2016-08-12 11:31:30

标签: asp.net-mvc-5 html-helper

我正在尝试创建一个自定义的html助手类。 我有以下作为一个非常简单的开始,符合罚款:

using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewFeatures;

namespace Mobile.HtmlHelpers
{
    public static class RequestBox
    {
        public static HtmlString CascadeBoxFor<TModel, TValue>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TValue>> expression, object htmlAttributes = null)
        {
            HtmlString html = (HtmlString)HtmlHelperInputExtensions.TextBoxFor(helper, expression);
            return html;
        }
        // IHtmlContent html = HtmlHelperInputExtensions.TextBoxFor(htmlHelper, expression);
    }
}

我试图调用它而系统不喜欢它.. 如果我使用,我可以看到它:

@foreach (var item in Model.RequestModel.Requests)
{     
    @RequestBox.CascadeBoxFor(x=>item.EmployeeDescription)
}

但我明白了:

  

严重级代码描述项目文件行抑制状态   错误CS7036没有给出对应于'RequestBox.CascadeBoxFor&lt; TModel,TValue&gt;(HtmlHelper,Expression&lt; Func&lt; TModel,TValue&gt;&gt;&gt;对象)'Mobile..NET Framework 4.6的所需形式参数'expression'的参数.1

如果我尝试将其作为扩展程序并且我应该能够使用@Html.CascadeBoxFor(x => item.EmployeeDescription),我会得到:

  

严重级代码描述项目文件行抑制状态   错误CS1061'IHtmlHelper&lt; RequestPageModel&gt;'不包含'CascadeBoxFor'的定义,也没有扩展方法'CascadeBoxFor'接受'IHtmlHelper&lt; RequestPageModel&gt;'类型的第一个参数可以找到(您是否缺少using指令或程序集引用?)Mobile..NET Framework 4.6.1

谁能告诉我这里缺少什么?

0 个答案:

没有答案