我看中了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"还是不行,请各位高手帮忙看看是怎么回事,谢谢!
--------------------------------
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"还是不行,请各位高手帮忙看看是怎么回事,谢谢!
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>