Синтаксические ошибки с пользовательским помощником MVC3

#asp.net-mvc-3

#asp.net-mvc-3

Вопрос:

Я пытаюсь создать пользовательский помощник HTML. После нескольких руководств мой код —

 namespace System.Web.Mvc.Html 
{
    using System;
    using System.Web.Mvc;
    public static class HtmlHelpers
    {
        public static string BuildJsonPrototype(this HtmlHelper helper, string targetName)
        {
            var d = BuildJsonModel.Build( typeof(Int32), targetName);
            return d;
        }
    }
}
  

В моем представлении Razor код —

 @using System.Web.Mvc.Html    
@Html.BuildJsonModel( "test")
  

Когда я пытаюсь запустить это, я получаю следующую ошибку компилятора —

 Compiler Error Message: CS1061: 'System.Web.Mvc.HtmlHelper<AutoBind.Models.ComplexModel>'
does not contain a definition for 'BuildJsonModel' and no extension method
'BuildJsonModel' accepting a first argument of type
'System.Web.Mvc.HtmlHelper <AutoBind.Models.ComplexModel>' could be found
(are you missing a using directive or an assembly reference?)
  

Есть какие-либо предложения относительно моей синтаксической ошибки?

Ответ №1:

Ваш код предполагает, что помощник называется «BuildJsonPrototype», и все же в вашей разметке вы используете «BuildJsonModel»? В этом проблема?

Комментарии:

1. Вы всегда не видите очевидных вещей. Спасибо.

2. Нет проблем — мы все были там слишком много раз раньше 🙂