html.validationsummary 样式,如何显示html元素,如通过Html.ValidationSummary()呈现的错误中的链接...
当前用于显示错误消息的HTML帮助程序不支持此操作。但是,您可以编写自己的HTML助手来显示错误消息,而不用HTML转义它,即他们会将错误消息视为原始HTML。
作为一个起点,你可以使用从Codeplex上的ASP.NET MVC的源代码,特别是ValidationExtensions类的ValidationSummary方法:
public static string ValidationSummary(this HtmlHelper htmlHelper, string message, IDictionary htmlAttributes) {
// Nothing to do if there aren't any errors
if (htmlHelper.ViewData.ModelState.IsValid) {
return null;
}
string messageSpan;
if (!String.IsNullOrEmpty(message)) {
TagBuilder spanTag = new TagBuilder("span");
spanTag.MergeAttributes(htmlAttributes);
spanTag.MergeAttribute("class", HtmlHelper.ValidationSummaryCssClassName);
spanTag.SetInnerText(message);
messageSpan = spanTag.ToString(TagRenderMode.Normal) + Environment.NewLine;
}
else {
messageSpan = null;
}
StringBuilder htmlSummary = new StringBuilder();
TagBuilder unorderedList = new TagBuilder("ul");
unorderedList.MergeAttributes(htmlAttributes);
unorderedList.MergeAttribute("class", HtmlHelper.ValidationSummaryCssClassName);
foreach (ModelState modelState in htmlHelper.ViewData.ModelState.Values) {
foreach (ModelError modelError in modelState.Errors) {
string errorText = GetUserErrorMessageOrDefault(htmlHelper.ViewContext.HttpContext, modelError, null /* modelState */);
if (!String.IsNullOrEmpty(errorText)) {
TagBuilder listItem = new TagBuilder("li");
listItem.SetInnerText(errorText);
htmlSummary.AppendLine(listItem.ToString(TagRenderMode.Normal));
}
}
}
unorderedList.InnerHtml = htmlSummary.ToString();
return messageSpan + unorderedList.ToString(TagRenderMode.Normal);
}
然后,您可以更改此方法对待错误消息原始HTML。
两个警告,虽然:
你改变ModelState类的某些属性的含义。尽管现在您不再使用自己的HTML助手,但未来版本的ASP.NET MVC可能会引入不再适用于此方法的更改。
请务必小心,不要使用未正确转义的错误消息,以免您的Web应用程序暴露给XSS攻击。某些标准验证注释可能无法再工作,因为它们不会HTML转义错误消息。
html.validationsummary 样式,如何显示html元素,如通过Html.ValidationSummary()呈现的错误中的链接...相关推荐
- html 中设置样式方式,在html元素中设置css样式的方式是什么
如果我们要在HTML元素中设置CSS样式,那么我们就需要在元素中设置"id" 和 "class"选择器. (推荐教程:CSS教程) 下面我们来分别说一下id选择 ...
- html会在哪里显示,CSS如何显示 HTML元素
需要具备的基础知识在继续学习之前,你需要对下面的知识有基本的了解: HTML XHTML 如果你希望首先学习这些项目,请在 首页 访问相关教程. CSS 概述 CSS 指层叠样式表 (Cascadin ...
- html.validationsummary 样式,validationsummary
validationsummary控件有什么用途ValidationSummary 控件用于在网页.消息框或在这两者中内联显示所有验证错误的摘要. 在该控件中显示的错误消息是由每个验证控件的 Erro ...
- html.validationsummary 样式,Html.ValidationSummary(bool)
摘要 对ValidationSummary是HtmlHelper的扩展方法,用来返回 System.Web.Mvc.ModelStateDictionary (即ModelState)对象中的验证消息 ...
- DOM--操作元素案例:分时显示不同的图片以及问候语;仿淘宝关闭标签案例;隐藏显示文本框内容;仿新浪注册页面中密码长度的判定
分时显示不同的图片以及问候语 分析: 根据不同的时间来判断,所以需要获取到系统的时间. 利用分支语言来设置不同的图片 需要更换不同的图片,因此需要操作img的元素src 需要一个div来显示不同问候语 ...
- jquery可见性选择器(匹配匹配所有显示的元素)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 下拉菜单显示 隐藏html,根据在下拉列表中选择的内容隐藏和显示HTML元素
我的网站是在ASP classic - VBScript中创建的(不是我的选择,也是我之前没有过的语言).我试图在其中创建一个网页:下拉菜单显示了基于第一个选择内容的额外下拉菜单.我正在尝试使用Jav ...
- CSS将样式规则与HTML元素相关联
CSS通过将规则与HTML元素相关联的方式来工作,这些规则用来控制指定元素的内容如何显示. 一条CSS规则包含两个部分:一个选择器和一条声明. 示例: P{ ------- ----- ...
- wpf怎么让grid表格中元素显示到最顶层_一文搞定PPT中的快捷键
点击上方"锦乡悦堂",一起愉快的学习吧! 不知道大家有没有见到过会PS的同学工作时的场景:一手鼠标移动.指点,另一手在键盘上噼里啪啦按键,屏幕上肉眼可见的速度出现了他们的作品. 操 ...
最新文章
- “评IDC,送免费主机”活动,主机无任何限制,无广告
- Boost:基于Boost的阻塞udp echo的测试程序
- scrapy爬虫框架windows下的安装问题
- [JZOJ P1281] [DP]背包的第k优解
- 你是你产品的头号用户
- 中标麒麟怎么安装deb包_请教,如何制作中标麒麟系统可用的安装包?
- ubuntu + pycharm + anaconda + pyqt5 + tools 配置
- 使用PS创造非凡动物形象
- r语言初学者指南_由R入统:R语言统计学类书籍推荐
- 日常Java练习题(每天进步一点点系列)
- P7 黑客是如何发现女朋友出轨的,痛心的经历!
- (完整体系教程)使用 Arduino 控制伺服电机
- 怎么设置服务器共享文件夹在哪里设置密码,共享文件夹怎么设置密码
- (附源码)计算机毕业设计SSM音乐鉴赏网站前端开发
- 华为畅享20plus能更鸿蒙不,甘南收购华为畅享20Plus尾插排线数据线耳机
- quot;多看nbsp;fornbsp;kindle3”升级包下载
- 5天拿到华为Java岗offer
- Maven学习(一)---Maven简介
- 前端案例-30 Vue常用特性案例汇总
- MybatisX的使用方法
热门文章
- tesseract训练
- 同城婚恋相亲交友系统源码开源版婚姻介绍红娘分销平台源码盲盒交友多种认证可封装APP
- 安卓使用Glide加载图片使宽度充满手机屏幕,高度随宽度等比缩放
- 【金融】探究财务报告业绩增速与股价变动之间的关系--研报复现及深入探究
- 让手机和电脑的ip处于同一个网段
- 暑期2020 之“大咖说开源” | 李建盛:开源世界中的“隐”规则
- Windows文件名长度限制
- linux中文文件名长度ftp无法传输,上传ftp时文件名不能太长
- Socially-Aware Self-Supervised Tri-Training for Recommendation
- 前馈型神经网络常用于哪里,径向基神经网络应用