您的位置:首页 > 编程语言 > C#

C# Xml与DataList实现导航功能

2007-11-20 14:22 453 查看
Company.xml

<?xml version="1.0" encoding="utf-8" ?>
<Items>
<Item ID="0" ItemName="添加公司" ItemUrl="CompanyInfoAdd.aspx"></Item>
<Item ID="1" ItemName="公司信息" ItemUrl="CompanyList.aspx"></Item>
<Item ID="2" ItemName="用户注销" ItemUrl="../Personal/LoginOut.aspx"></Item>
<Item ID="3" ItemName="修改密码" ItemUrl="../Admin/Password.aspx"></Item>
</Items>

<LINK href="../Css/NewPaper.css" type="text/css" rel="stylesheet">
<TABLE id="Table1" height="100%" width="145" border="0">
<TR vAlign="top">
<TD bgColor="#efefef" colSpan="2">
<asp:DataList id="dstMyList" EnableViewState="false"

SelectedItemStyle-BackColor="black" width="145"
cellspacing="0" cellpadding="3" runat="server">
<SelectedItemStyle

BackColor="Black"></SelectedItemStyle>
<SelectedItemTemplate>
<asp:HyperLink id=HyperLink2

runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "ItemUrl") +

"?selection=" + Container.ItemIndex %>' Text='<%# DataBinder.Eval

(Container.DataItem, "ItemName") %>' cssclass="MenuSelected">
</asp:HyperLink>
</SelectedItemTemplate>
<ItemTemplate>
<asp:HyperLink id=HyperLink1

runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "ItemUrl") +

"?selection=" + Container.ItemIndex %>' Text='<%# DataBinder.Eval

(Container.DataItem, "ItemName") %>' cssclass="MenuUnselected">
</asp:HyperLink>
</ItemTemplate>
</asp:DataList></TD>
</TR>
</TABLE>

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string selectionID = Request.Params["selection"]!=null?Request.Params["selection"].ToString():"1";
if(selectionID!=null)
{
this.dstMyList.SelectedIndex = Convert.ToInt32(selectionID);
}
MenuBind();
}

private void MenuBind()
{
this.dstMyList.DataSource = new CompanyAccess().GetMenu(Server.MapPath("Company.xml"));
this.dstMyList.DataBind();
}

public DataTable GetMenu(string file)
{
System.Xml.XmlDataDocument doc = new XmlDataDocument();
doc.Load(file);
System.Xml.XmlNode node = doc.DocumentElement;
DataTable dt = new DataTable();
dt.Columns.Add("ItemName");
dt.Columns.Add("ItemUrl");
string itemName = string.Empty;
string itemUrl = string.Empty;
string []rowItem = new string[2];
foreach(XmlNode xd in node)
{
itemName = xd.Attributes["ItemName"].Value;
itemUrl = xd.Attributes["ItemUrl"].Value;
rowItem[0] = itemName;
rowItem[1] = itemUrl;
dt.Rows.Add(rowItem);
}
return dt;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: