У меня есть следующий метод расширения, который я создал и работающий для одного проекта 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