Hvorfor kan jeg ikke finde metoden RadioButtonFor?

Her er min statiske klasse:

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

namespace Foo.WebUI.Infrastructure
{
    public static class HtmlHelpers
    {
        public static MvcHtmlString Image(this HtmlHelper helper, string src, string altText)
        {
            var builder = new TagBuilder("img");
            builder.MergeAttribute("src", src);
            builder.MergeAttribute("alt", altText);

            return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
        }

        public static MvcHtmlString RadioButtonForEnum(this HtmlHelper htmlHelper, Expression> expression)
        {
            var metaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
            var names = Enum.GetNames(metaData.ModelType);
            var sb = new StringBuilder();
            foreach (var name in names)
            {
                var id = string.Format(
                    "{0}_{1}_{2}",
                    htmlHelper.ViewData.TemplateInfo.HtmlFieldPrefix,
                    metaData.PropertyName,
                    name
                );

 //---------------------------------------ERROR HERE!-----------------------------
                var radio = htmlHelper.RadioButtonFor(expression, name, new { id = id }).ToHtmlString();
                sb.AppendFormat(
                    " {2}",
                    id,
                    HttpUtility.HtmlEncode(name),
                    radio
                );
            }
            return MvcHtmlString.Create(sb.ToString());
        }

    }
}

Når jeg kompilerer dette, får jeg denne fejl:

'System.Web.Mvc.HtmlHelper' indeholder ikke en definition til 'RadioButtonFor' og ingen udvidelsesmetode 'RadioButtonFor' accepterer en første argument af typen 'System.Web.Mvc.HtmlHelper' kunne være fundet (mangler du et brugsdirektiv eller en samlehenvisning?

Jeg fik denne hjælpemetode fra dette svar:

videregiv enum til html.radiobuttonfor MVC3

7
задан Community 23 May 2017 в 10:27
поделиться