2012-06-28 48 views
0

我想在每個驗證錯誤消息前添加一個圖標。 我想這一點:Asp.net mvc 3在驗證錯誤消息附近添加錯誤圖標

 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());   
     } 

我得到這個:

<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 

我看到從一開始就錯誤圖標。 我怎樣才能把這img內跨度?我如何訪問其InnerHtml屬性?

回答

1

我想你會更容易使用css應用背景圖像跨越field-validation-error

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