Asp.net mvc 3 Asp.net mvc 3在验证错误消息附近添加错误图标

Asp.net mvc 3 Asp.net mvc 3在验证错误消息附近添加错误图标,asp.net-mvc-3,Asp.net Mvc 3,我想在每个验证错误消息前添加一个图标。 我正在尝试: public static IHtmlString BogusValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expr) { ModelMetadata metada

我想在每个验证错误消息前添加一个图标。 我正在尝试:

        public static IHtmlString BogusValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expr)
        {
            ModelMetadata metadata = ModelMetadata.FromLambdaExpression<TModel, TProperty>(expr, htmlHelper.ViewData);
            MvcHtmlString validationError = htmlHelper.ValidationMessageFor<TModel, TProperty>(expr);
            var imgErr = new TagBuilder("img");
            imgErr.Attributes.Add("src", "../../Content/images/error.png");
            return new HtmlString(imgErr.ToString() + validationError.ToString());           
        }
公共静态IHtmlString BogusValidationMessageFor(此HtmlHelper HtmlHelper,表达式expr)
{
ModelMetadata元数据=ModelMetadata.FromLambdaExpression(expr,htmlHelper.ViewData);
MvcHtmlString validationError=htmlHelper.ValidationMessageFor(expr);
var imgErr=新标记生成器(“img”);
添加(“src”、“../../Content/images/error.png”);
返回新的HtmlString(imgErr.ToString()+validationError.ToString());
}
我明白了:

<label for="Email">Email address</label>
<input id="Email" type="text" value="" name="Email" data-val-required="The Email address field is required." data-val="true">
<img src="../../Content/images/error.png">
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="Email"></span
电子邮件地址

我认为使用css将背景图像应用到带有
字段验证错误的跨距上会更容易

.field-validation-error {
    background:url(../../Content/images/error.png) no-repeat left center;
    padding-left:20px; /* or whatever you image size is */
}