您的位置:首页 > 其它

DotNetNuke3.0.8中不能使用中文页面名的问题

2005-01-02 23:39 302 查看
       今天下载安装了DotNetNuke3.0.8,总体感觉比以前版本要稳定得多。这个版本被DNN 核心团队称为Release Candidate(RC),也就是所谓“发布版候选人”,相信不久之后的DNN3.0.9就将是最终发布版本了。

       不过发现了一个以前3.x版本都没有遇到的小问题,定义页面名称(TableName)的时候,不允许输入中文页面名!查看了一下源文件,发现原来在 "admin\Tabs\ManageTabs.ascx"的第38行有一个ID为"valregTabName" 的RegularExpressionValidator 控件。里面的正则表达式只允许输入英文字母、数字、下划线等,但是不接受其它的双字节字符。

      到ASP.NET论坛上查了一下,原来DNN 核心团队的解释是为了友好URL的实现而进行的设定。我个人觉得这种强制设置有点不太合适。

      解决办法有两种:

      1.把该控件删除(与以前的版本一样不要这个表达式验证控件)。

      2.看到一位叫chief cn的兄弟用了替换表达式 :[^\<\>\/\'\.\?\&]* 

         即改为

<asp:RegularExpressionValidator ID="valregTabName" CssClass="NormalRed" Runat="server" Display="Dynamic"

           errormessage="<br>Tab Name can only contain numbers, letters _ and - "

           resourcekey="valregTabName.ErrorMessage"

           ValidationExpression="[^\<\>\/\'\.\?\&]*"

           ControlToValidate="txtTabName"/>

       我对正则表达式不是很熟,个人感觉这个正则表达式对于友好URL也没太大帮助。请高手指点。

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐