理解ASP.NET MVC引擎处理模型字符串的默认行为,涉及Html.Raw()和HttpUtility.HtmlDecode()
2024-09-04 11:24:30
MVC引擎默认会将Model属性值中包含的html字符串做encode,所以如属性中包含类似 <br> 这样的标记,MVC引擎会将它们转换成html实体码 %3Cbr%3E
所以1:在编辑时
<div class="col-md-10">
@Html.TextArea("Eval", HttpUtility.HtmlDecode(main.Eval), new { @class = "form-control textAreaStyle", name = "" })
</div>
所以2:在显示时,如果需要将当需要将 <br> 作为"原生HTML字符串"被浏览器解析,即代表它本身html编码含义.如 <br> 解析为换行,需要使用 @Html.Raw() 方法
<label class="col-md-9 control-label font-normal">@Html.Raw(@Model.Main.Eval)</label>
所以3:在提交时,JS解决方法
HtmlUtil.htmlEncode("Xxx");
//定义部分
var HtmlUtil = {
htmlEncode: function (html) {
var temp = document.createElement("div");
(temp.textContent != undefined) ? (temp.textContent = html) : (temp.innerText = html);
var output = temp.innerHTML;
temp = null;
return output;
},
htmlDecode: function (text) {
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
};
最新文章
- 在Qt Creator 和在 vs2012 里添加信号和槽
- SVN分支和映射总结和数据库初步使用
- Win10重复按键盘经常按不出?Win10关闭筛选键步骤
- 第二讲(核心c#)
- SEO优化
- Git从零开始怎么学?
- iOS应用内付费(IAP)开发步骤列表
- Oracle的表空间和数据文件
- 基础4 Android基础
- 用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?
- 解决Please ensure that adb is correctly located at &#39;D:\java\sdk\platform-tools\adb.exe&#39; and can be executed.
- asp.net 获取系统的根目录
- inline 间距
- 字典的定义和操作 (Python)
- AngularJS进阶(八)实现页面跳转并进行参数传递
- cyq.data 常见使用方法
- 【数论】 快速幂&;&;矩阵快速幂
- [LeetCode&;Python] Problem 70. Climbing Stairs
- Python调用ffpmeg和ffprobe处理视频文件
- UOJ33 [UR #2] 树上GCD 【点分治】【容斥原理】【分块】