时区编辑器控件(admin/Localization/TimeZoneEditor.ascx)中有这样一个功能,它可以检查存储时区信息的本地化XML文件(App_GlobalResources/TimeZones.zh-CN.xml)与默认的存储时区信息的XML文件(App_GlobalResources/TimeZones.xml)的差别。在本地化文件缺少相应的条目时会要求增加,有多余条目时会自动删除。(条目是否相同用key值来标识,下面的XML中有key值的含义)
如果我将本地化文件增加一个key相同的条目,如:
<
root
>
<!--
name="时区名"
key="相对GMT(格林尼治标准时间)的偏移量"
-->
<!--
有一条重复key的值
-->
<
timezone
name
="(GMT) 格林威治标准时 : 都柏林、爱丁堡、伦敦"
key
="0"
/>
<
timezone
name
="(GMT) 格林威治标准时 : 都柏林、爱丁堡、伦敦"
key
="0"
/>
<
timezone
name
="(UTC -12:00) 国际日期变更线"
key
="-720"
/>
<
timezone
name
="(UTC -11:00) 中途岛、萨摩亚群岛"
key
="-660"
/>
<
timezone
name
="(UTC -10:00) 夏威夷"
key
="-600"
/>
<!--
其余省略
-->
</
root
>
如果我将本地化文件增加一个key相同的条目,如:
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
那么将会产生,无论怎样都会提示缺少条目且无法删除多余条目,如下图:
解决方法:在读取本地化文件到数据集后,定义时区信息表key为主键。如果定义不成功(有重复的key),则提示出错,然后进行相应的错误处理即可。
这个时区编辑器中存在的Bug如果不用挑剔的眼光去看它的话,也许它还算不上Bug。算是对DNN精益求精的要求吧!
更多相关内容>>