我想自定义ValidationMessageFor,显示错误。当我运行应用程序时,得到一个错误: 方法'ValidationMessageFor'没有重载需要1个参数
我理解我的错误,但我不知道如何解决它? 我需要一些建议。谢谢你的阅读!
我的代码:
using System.Linq.Expressions;
using System.Web;
using System.Web.Mvc;
namespace OurCompanyUI.app_code
{
public static class MyHtml
{
public static MvcHtmlString ValidationMessageFor<TModel, TProperty>(
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TProperty>> expression,
string validationMessage,
IDictionary<string, Object> htmlAttributes
)
{
string modelName = ExpressionHelper.GetExpressionText(expression);
TagBuilder p = new TagBuilder("p");
p.InnerHtml = htmlHelper.ValidationMessageFor(htmlHelper,expression).ToString();
// p.InnerHtml = htmlHelper.ValidationMessageFor().ToString();
return MvcHtmlString.Create(p.ToString(TagRenderMode.Normal));
}
}
}
答案 0 :(得分:2)
通过在using指令中添加以下内容,确保已将原始ValidationMessageFor
帮助程序定义到其中的命名空间带入范围:
using System.Web.Mvc.Html;