我有以下扩展方法,我已经构建并为一个MVC3项目工作,但是当尝试在另一个MVC3项目中使用它时,编译器(不是视图)给出了错误;
Error 1 'TextBoxFor' is not a member of 'System.Web.Mvc.HtmlHelper(Of TModel)'...
Intellisense没有显示这些html元素shorcut方法。
我确定这只是因为我错过了一个参考或其他东西,但是打败了它。
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
答案 0 :(得分:2)
我需要导入System.Web.Mvc.Html命名空间