我有一个嵌套的xml
文件,其中包含菜单和子菜单。我需要在页面加载时将它绑定到asp.net CheckBox控件。
我正在尝试使用下面的C#代码进行绑定
C#:
DataSet ds = new DataSet();
try
{
//Reading the data from the XML file
ds.ReadXml(HttpContext.Current.Server.MapPath("~/menu.xml"));
DataView dataview = ds.Tables[0].DefaultView;
BioCheckBoxList.DataSource = dataview ;
BioCheckBoxList.DataBind();
}
XML:
<menu>
<menuItem text="Home" url="~/Default.aspx?id=e058511b-b7d9-4d39-b194-cf803014777" mid="08f360dc- a9cf-4724-a595-66f7ca01c04e" predeficon="homeico" />
<menuItem text="Bio" url="~/Default.aspx" icon="~/common/theme/smoothadmin/img/cog.png">
<subMenu>
<menuItem text="Reg" url="~\Modules\Bio\Reg.aspx"/>
<menuItem text="Mem" url="~\Modules\Bio\Mem.aspx"/>
</subMenu>
</menuItem>
<menuItem text="Por" url="~/Default.aspx?" icon="~/common/theme/smoothadmin/img/cog.png">
<subMenu>
<menuItem text="General">
<subMenu>
<menuItem text="Make Appointment" url="~\Modules\Portals\Gen.aspx"/>
</subMenu>
</menuItem>
</subMenu>
</menuItem>
</menu>
答案 0 :(得分:1)
使用 SiteMap 代替XML文件。见这里:Using-Menu-and-Sitemap-with-Master-page
使用 TreeView 控件并将TreeView绑定到SiteMap。
在 TreeView 中, ShowCheckBoxes 属性设置为全部。