Razor HTML Helper类 - 无法访问标准HTML帮助程序

时间:2014-10-16 09:39:14

标签: razor html-helper

我正在尝试创建一个HTML助手,以某种方式显示下拉框。

我已经开始创建一个这样的:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.Mvc;

namespace uQuiz.WebUI
{
    public static class HtmlHelpers
    {

        public static  MvcHtmlString TimerMinuteSelectBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
        where TModel : class
        {
            // Error, no definition
            htmlHelper.DropDownBoxFor();
        }
    }
}

htmlHelper不包含DropDownBoxFor()或任何其他标准Html帮助程序的定义,例如TextBoxFor()

  

错误1'System.Web.Mvc.HtmlHelper'不包含   'DropDownBoxFor'的定义,没有扩展方法   'DropDownBoxFor'接受第一个类型的参数   可以找到'System.Web.Mvc.HtmlHelper'(你错过了吗?   使用指令或程序集   引用?)

我看到他们能够在这个答案https://stackoverflow.com/a/16089427/894792中访问它,但我不能。

如何在this answer中访问标准HTML帮助程序。

1 个答案:

答案 0 :(得分:1)

您需要添加对System.Web.Mvc.Html

的引用
public static  MvcHtmlString TimerMinuteSelectBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, ....
{
  MvcHtmlString dropdown = SelectExtensions.DropDownListFor(helper, expression, ....