问题描述
|
我有以下已构建的扩展方法,并且已经在一个MVC3项目中使用,但是当尝试在另一个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
解决方法
我需要导入System.Web.Mvc.Html命名空间