在用MenuData.xml定义菜单项的时候用<MenuItem Label="mx">定义可以但换成中文<MenuItem Label="明细">就不可以提示:
给定编码中有无效的字符。 行 3,位置 22。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Xml.XmlException: 给定编码中有无效的字符。 行 3,位置 22。源错误:
行 20: </TR>
行 21: </TABLE>
行 22: <cc1:ASPnetMenu id="ASPnetMenu1" runat="server" Width="781px" MenuStyle="ClassicHorizontal"
行 23: MenuData="menuData.xml"
行 24: DefaultGroupCssClass="MenuGroupVer"
为什么啊?怎么才可以定义中文菜单项呢?
给定编码中有无效的字符。 行 3,位置 22。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Xml.XmlException: 给定编码中有无效的字符。 行 3,位置 22。源错误:
行 20: </TR>
行 21: </TABLE>
行 22: <cc1:ASPnetMenu id="ASPnetMenu1" runat="server" Width="781px" MenuStyle="ClassicHorizontal"
行 23: MenuData="menuData.xml"
行 24: DefaultGroupCssClass="MenuGroupVer"
为什么啊?怎么才可以定义中文菜单项呢?
同是把xml文件 保存为utf-8格式, 就可以解决了
二、 项目文件的 Web.config 文件 <globalization responseEncoding="gb2312" requestEncoding="gb2312" />
==========现在就可以直接运行项目看到效果了。但这时看不到中文的菜单,因为如果我们把XML里的相关项目改为中文,会出现:给定编码中有无效的字符 这样的错误。解决办法是:
用记事本打它menudata.xml文件,直接选另存为:文件名不变,把编码改为:UTF-8,提示是不是覆盖时选是。再次运行项目。以后要想每改一下XML文件内容,直接用VS是不行的,要用记事本打开,然后再次另存为UTF-8才行!(FIT!!!)
附另一解决办法:设置<?xml version="1.0" encoding="gb2312" ?>