到目前为止,这是工作,但我似乎无法明确在所需的正确顺序的HTML。
对于每一个不同的错误,我需要这个HTML返回:
<div class="style-msg errormsg">
<div class="sb-msg">
<i class="icon-remove"></i>
Error Text
</div>
</div>
下面是扩展方法:
public static string MyValidationSummary(this HtmlHelper helper, string validationMessage = "")
{
string retVal = "";
if (helper.ViewData.ModelState.IsValid)
return "";
retVal += "<div class='style-msg errormsg'><div class='sb-msg'><i class='icon-remove'></i>";
if (!String.IsNullOrEmpty(validationMessage))
retVal += helper.Encode(validationMessage);
foreach (var key in helper.ViewData.ModelState.Keys)
{
foreach (var err in helper.ViewData.ModelState[key].Errors)
retVal += helper.Encode(err.ErrorMessage);
}
retVal += "</div></div>";
return retVal.ToString();
}
}
最后在这里是我如何调用它的实际网页。
@Html.Raw(Html.MyValidationSummary())
BONUS问:使用HTML.Raw
在这种情况下安全吗?