除了考虑中英文的双字节与单字节问题以外,我在限制标题长度的时候发现以下问题,如果我在TextBox里面输入了Html代码,而通过Label来显示,比如:
<font color='#ff0000'>标题</font>
则Label只会显示两个汉字,而实际他已经不止两个汉字的长度了。可是如果我用Length等什么函数的话,截取出来的字符肯定是显示出来很变态,因为有一部分html代码已经被截取了,再说html代码又有那么多种。请问高手怎么解决。
<font color='#ff0000'>标题</font>
则Label只会显示两个汉字,而实际他已经不止两个汉字的长度了。可是如果我用Length等什么函数的话,截取出来的字符肯定是显示出来很变态,因为有一部分html代码已经被截取了,再说html代码又有那么多种。请问高手怎么解决。
解决方案 »
- asp.net后台获取js的返回值
- 本地可以上传word,但网站发布后就拒绝访问了
- 如何用.net为图片批量加水印
- 昨天开始学习C# 请教有关字符串的问题
- 一个Datagrid的问题
- DATAGRID自定义控件的问题
- 把做好的ASP.NET网页移植到另一台机后应该如何配置??
- 文件下载,不要弹出对话框,下到指定目录。vbscript js or web service
- help:关于一个checkbox的问题!
- 求帮我改个插入行的触发器,flag都是1,没变化
- File.Delete 能使用通配符吗?
- 在客户端用jabascript动态给listbox增加或减少项目,在服务器端怎么取得?(asp.net)
这些都去掉,剩下的就是你想要的字符串了
用一个正则表达式,去掉文本里面的所有HTML语句,求取出有用的文本,之后计算文本,取出需要的长度,再拿到原文本串里面进行替换.
不过,一般来讲,我们要限制显示长度的地方,一般是标题之类,而此类东西尽量不要让用户输入HTML语句,只有在正文内容内才允许.
然后再计算长度!如果提示从“客户端(TextBox1="<font color='#ff0000……")中检测到有潜在的危险Request.Form值。”这个错误~就再页面第一行的<%@ Page language="c#"...... %>这里面加上~
validateRequest=false 即~<%@ Page language="c#" validateRequest=false ...... %>
<!--设置页面不检测HTML语法-->
<pages enableSessionState = "true" validateRequest="false"/>
</system.web>
有没有好一点的方法,比如可以不把Html语法算在标题的长度之内。
因为客户有时候需要突出显示新闻标题,比如:粗体,红色字体等。
<pages enableSessionState = "true" validateRequest="false"/>
否则不能提交包含html语法的语句。
----------------
没有其他方法
所以,当类似的内容提交了以后,需要对其进行一次转换,例如转换为<script>alert(''show me your cardpwd'); </script>,这样当再次在画面表示的时候,就不会有问题了阿。
希望可以有所帮助:)