自定义ValidationMessageFor时出错

时间:2012-09-11 09:57:56

标签: asp.net-mvc-3

我想自定义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)); 
        }   
    }
}

1 个答案:

答案 0 :(得分:2)

通过在using指令中添加以下内容,确保已将原始ValidationMessageFor帮助程序定义到其中的命名空间带入范围:

using System.Web.Mvc.Html;