Проблема создания метода расширения для HTMLHelper («TextBoxFor» не является членом «System.Web.Mvc.HtmlHelper (Of TModel)») - PullRequest
1 голос
/ 13 июня 2011

У меня есть следующий метод расширения, который я создал и работающий для одного проекта MVC3, но при попытке использовать его в другом, компилятор (не вид) выдает мне ошибку;

Error   1   'TextBoxFor' is not a member of 'System.Web.Mvc.HtmlHelper(Of TModel)'...

Intellisense не показывает ни один из этих методов сокращения элементов html.

Я уверен, что это просто потому, что мне не хватает ссылки или чего-то еще, но лучше, чем это.

FImports System.Runtime.CompilerServices

Public Module HtmlHelperExtension

<Extension()> _
Public Function WatermarkedTextBoxFor(Of TModel, TProperty)(ByVal htmlHelper As System.Web.Mvc.HtmlHelper(Of TModel), ByVal expression As Linq.Expressions.Expression(Of Func(Of TModel, TProperty)), ByVal htmlAttributes As IDictionary(Of String, Object)) As MvcHtmlString

    Dim propertyMetaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData)

    Return htmlHelper.TextBoxFor(expression, New RouteValueDictionary(htmlAttributes) From {
                                 {"class", "jq_watermark"},
                                 {"title", If(Not String.IsNullOrEmpty(propertyMetaData.Watermark), propertyMetaData.Watermark, propertyMetaData.GetDisplayName())}
                             })

End Function
End Module

1 Ответ

2 голосов
/ 30 июля 2011

Мне нужно было импортировать пространство имен System.Web.Mvc.Html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...