我看中了ComponentArt.WebUI中的NavBar,于是根据它的例子我设计了一个web页面webform1,其aspx文件内容如下:
--------------------------------
webform1.aspx<%@ Register TagPrefix="ComponentArt" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebUITest.WebForm1" codePage="936" culture="zh-CN"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML>
<HEAD>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Outlook 2003 Bar</title>
<link href="../common/baseStyle.css" type="text/css" rel="stylesheet">
<link href="navStyle.css" type="text/css" rel="stylesheet">

</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<ComponentArt:NavBar id="NavBar1" Width="200" Height="450" CssClass="NavBar" DefaultItemLookID="TopItemLook"
SiteMapXmlFile="navData.xml" ExpandSinglePath="true" FullExpand="true" ImagesBaseUrl="images/" ShowScrollBar="false"
ExpandTransition="Fade" ExpandDuration="200" CollapseTransition="Fade" CollapseDuration="200" ScrollUpImageUrl="scrollup.gif"
ScrollUpHoverImageUrl="scrollup_hover.gif" ScrollUpActiveImageUrl="scrollup_active.gif" ScrollDownImageUrl="scrolldown.gif"
ScrollDownHoverImageUrl="scrolldown_hover.gif" ScrollDownActiveImageUrl="scrolldown_active.gif" ScrollUpImageWidth="16"
ScrollUpImageHeight="16" ScrollDownImageWidth="16" ScrollDownImageHeight="16" runat="server">
<ItemLooks>
<ComponentArt:ItemLook LookID="TopItemLook" CssClass="TopItem" HoverCssClass="TopItemHover" LeftIconUrl="top_folder.gif"
LabelPaddingLeft="15" LeftIconWidth="30" LeftIconHeight="24" />
<ComponentArt:ItemLook LookID="Level2ItemLook" LabelPaddingLeft="10" CssClass="Level2Item" HoverCssClass="Level2ItemHover"
LeftIconWidth="16" LeftIconHeight="16" />
<ComponentArt:ItemLook LookID="EmptyLook" CssClass="Empty" />
</ItemLooks>
</ComponentArt:NavBar>
</form>
<script type="text/javascript">
    // Preload CSS-referenced images 
    var img1 = new Image();
    img1.src = '/images/item_bg.gif';
    var img2 = new Image();
    img2.src = '/images/item_expanded_bg.gif';
    var img3 = new Image();
    img3.src = '/images/group_bg.gif';
</script>
</body>
</HTML>
--------------------------------------------------------
webform1.aspx中用到的navData.xml文件内容如下:
---------------------------
navData.xml<items>
  <item Text="Mail" Look-LeftIconUrl="top_mail.gif" DefaultSubItemLookId="Level2ItemLook" SubGroupCssClass="Level2Group" SubGroupItemSpacing="10" Expanded="true">
    <item Text="Mailbox - Scott Guest" Look-LeftIconUrl="mailbox.gif" />
    <item Text="Inbox" Look-LeftIconUrl="inbox.gif" />
    <item Text="Drafts" Look-LeftIconUrl="drafts.gif" />
    <item Text="Outbox" Look-LeftIconUrl="outbox.gif" />
    <item Text="Junk E-mail" Look-LeftIconUrl="junk.gif" />
    <item Text="Deleted Items" Look-LeftIconUrl="deleted.gif" />
    <item Text="Search Folders" Look-LeftIconUrl="search.gif" />
    <item Text="Sent Items" Look-LeftIconUrl="sentItems.gif" />
  </item>  <item Text="Notes" Look-LeftIconUrl="top_notes.gif" DefaultSubItemLookId="Level2ItemLook" SubGroupCssClass="Level2Group" SubGroupItemSpacing="10" DefaultSubItemLook-LeftIconUrl="notes.gif">
    <item Text="Icons" />
    <item Text="Note List" />
    <item Text="Last Seven Days" />
    <item Text="By Category" />
    <item Text="By Color" />
  </item>  <item Text="Contacts" Look-LeftIconUrl="top_contacts.gif" DefaultSubItemLookId="Level2ItemLook" SubGroupCssClass="Level2Group" SubGroupItemSpacing="10" DefaultSubItemLook-LeftIconUrl="contacts.gif">
    <item Text="Address Cards" />
    <item Text="Detailed Address List" />
    <item Text="By Category" />
    <item Text="By Company" />
    <item Text="By Follow-up Flag" />
  </item>
</items>
------------------------------------------------------
这个webform可以正常的运行,但是navbar中全是英文,如果我改为中文的话,如随便改一个:
<items>
  <item Text="邮件" Look-LeftIconUrl="top_mail.gif" DefaultSubItemLookId="Level2ItemLook" SubGroupCssClass="Level2Group" SubGroupItemSpacing="10" Expanded="true">
    <item Text="Mailbox - Scott Guest" Look-LeftIconUrl="mailbox.gif" />
......    
</items>
再运行时就出现错误:
给定编码中有无效的字符。 行 2,位置 15。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Xml.XmlException: 给定编码中有无效的字符。 行 2,位置 15。
我在web.config中已经将"全球化设置"中的"utf-8"全部改为"gb2312"还是不行,请各位高手帮忙看看是怎么回事,谢谢!

解决方案 »

  1.   

    把web.config的globalization配置节中的 fileEncoding 也改为 gb2312试试,如果没有这个属性就加上
      

  2.   

    <?xml version="1.0" encoding="gb2312"?>设置web.config中:
    <globalization
    requestEncoding="gb2312"
        responseEncoding="gb2312"
    />
      

  3.   

    谢谢楼上的几位,我在web.config中已经将utf-8改为了gb2312,还是不行!
      

  4.   

    do you set the code of xml file?
      

  5.   

    回楼上的,我的navdata.xml文件的内容就写在上面?没有设置xml的code
      

  6.   

    谢谢楼上的,我在navdata.xml前面加上<?xml version="1.0" encoding="gb2312"?>后可以了,谢谢!