Строка, сгенерированная из С# в виде MVC

Я использую специальный валидатор на уровне класса в моей модели приложений MVC. Поэтому внутри пользовательского валидатора я генерирую сообщение об ошибке на основе условий и tryint, чтобы вернуться в MVC и назначить его сводному списку, как показано ниже. Название модели "Застраховано" здесь

protected override ValidationResult IsValid(object value, ValidationContext validationContext)
 {
 string errorMessage = "";
 //StringBuilder errorMessage1 = new StringBuilder();

 var model = value as Insured;
 if (model == null)
 {
 return new ValidationResult("No valid Session exists.");
 }
 else
 {
 if (model.Age > 19)
 errorMessage += " <li> Age cannot be greater than 19. </li> " + Environment.NewLine;

 }
 return new ValidationResult(errorMessage);
 }

И так далее, добавляя весь текст в строку errormessage. Но когда я показываю его на странице, он отображает все в одной строке, а не отображает каждый в следующей строке sunce. Я использую Environment.NewLine.

Я пытался с \n\r и так далее, но все отображается как текст вместо html.

Я также попытался использовать построитель строк.

Отображение:

  • Age cannot be greater than 19.
  • Another error.
  • <li> Age cannot be greater than 19. </li> <li> Another error. </li>

    вместо

    Возраст не может быть больше 19. Еще одна ошибка.

    EDIT: Когда я перехожу в HTML, редактируя его из firebug и просто предоставляю пространство внутри сгенерированного сообщения об ошибке, все выравнивается идеально. Это так странно, не понимаю проблему.

    1 ответ

    Попробуйте HtmlString вместо строки

    new System.Web.HtmlString(" <li> Age cannot be greater than 19. </li> ");

    licensed under cc by-sa 3.0 with attribution.