当前位置:  开发笔记 > 后端 > 正文

Html.Encode()不编码空格

如何解决《Html.Encode()不编码空格》经验,为你挑选了1个好方法。

在我的asp.net-mvc网站上,我有一个字段,通常有一个字符串(来自数据库),但可能不时包含任何内容.因为IE不知道如何处理css"empty-cells"标签,所以空表格单元格需要填充一个 
我想

Html.Encode(" ");

会为我解决这个问题,但很明显,它只会返回"".我可以按如下方式实现这个逻辑

Html.Encode(theString).Equals(" ")?" ":Html.Encode(theString);

也是一种非速记 - 如果可能的话,但坦率地说,两种选择都很难看.是否有更可读,更紧凑的方式将可选空间放在那里?



1> system PAUSE..:

转换为" "to "\xA0"然后无条件地Html.Encode结果可能更简单:

s = (string.IsNullOrEmpty(s) || s.Trim()=="") ? "\xA0" : s;
Html.Encode(s);

十六进制00A0标识非破坏空间的Unicode字符,这就是为什么 是等效的HTML实体 .

如果您对数据库有任何控制权,则可以将空或单空格字段转换为此"\xA0"值,这将完全消除该条件.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有