aspx页面使用资源文件实现多语言时,对HTML标记的处理
做了一个网站,用户需要英文,中文简体,中文繁体三种语言。
简单的问题不大,直接使用本地化资源文件即可轻松搞定。
但是用户要求HELP.aspx页面也要实现三种语言。
help.aspx中的帮助内容是带格式的
<table><img><div><a>
这些标记都有;
我直接将帮助部分放到一个<asp:Literal>标记中,并生成本地资源;然后将中简,中繁分别放在help.aspx.zh-cn.resx和help.aspx.zh-tw.resx中;
页面上传后,发现在语言切换时,英文状态下可以正常显示内容,但在中简,中繁状态下显示为空;
经过比对和调试,发现要对resx文件的<Valu e >< /V alue>标签中的内容的HTML标记进行一些处理:
< 替换成 & l t ;
> 替换成 & g t ;
不能存在& nbsp;标记(空格,我遇到的问题就是在中简,中繁的资源文件的对应控件的文本存在“& nbsp;"而显示为空,将& nbsp;替换掉后,可以正常显示