4

我有以下代码试图用我自己的 @Html.MyValidationMessageFor(model => model.myfield) 扩展 @Html.ValidationMessageFor 并提供自定义错误 html

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Text;
using System.Linq.Expressions;

namespace Hml.BackEnd.Helpers
{
public static class HtmlHelpers
{
    public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
    {
        string myContent = "<div>" + htmlHelper.ValidationMessageFor(expression).ToString() + "</div>";
        return MvcHtmlString.Create(myContent);
    }
}
}

我收到以下编译消息:

'System.Web.Mvc.HtmlHelper < Model > 不包含 ValidationMessageFor 的定义,并且没有扩展方法 ValidationMessageFor 接受类型为 'System.Web.Mvc.HtmlHelper < TModel > 的第一个参数是否缺少使用或程序集参考。

我无法理解,因为 System.Web.Mvc 在项目引用和使用中。

4

1 回答 1

6

ValidationExtensions.ValidationMessageForSystem.Web.Mvc.Html命名空间的一部分。您需要ValidationExtensions使用完整的命名空间显式引用或包含System.Web.Mvc.Htmlusing指令中。

于 2012-08-28T11:12:54.467 回答