将嵌套XML绑定到CheckboxList

时间:2014-01-22 02:46:11

标签: c# asp.net xml

我有一个嵌套的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>

1 个答案:

答案 0 :(得分:1)

  1. 使用 SiteMap 代替XML文件。见这里:Using-Menu-and-Sitemap-with-Master-page

  2. 使用 TreeView 控件并将TreeView绑定到SiteMap。

  3. TreeView 中, ShowCheckBoxes 属性设置为全部