Я нашел Привязка элемента управления ASP.NET Menu к XML Вопрос полезен при поиске моей проблемы.Теперь проблема, с которой я сталкиваюсь, состоит в том, что мое меню выглядит следующим образом (даже главное меню как расширенное меню, прикрепленное к нему. Я хочу, чтобы оно регулярно выпадало. Могу ли я достичь этого?*
Мой xml-файл прикреплен. Я попытался удалить корневой тег, но это не XML-файл, и он нарушает код.
<?xml version="1.0" encoding="utf-8" ?>
<menu>
<menuItem>
<text>
<img align="middle" src="images/new.gif" width="32"
height="16" /> What's New? <img align="middle"
src="images/right.gif" width="16" height="16" />
</text>
<subMenu>
<menuItem>
<text>&nbsp;&nbsp;&nbsp;New Articles</text>
<url>/suboption1.1.html</url>
</menuItem>
<menuItem>
<text>&nbsp;&nbsp;&nbsp;New FAQs</text>
<commandName>NewFAQ</commandName>
</menuItem>
</subMenu>
</menuItem>
<menuItem>
<text>
<img align="middle" src="images/paw.gif" width="20"
height="16" /> Animal Facts <img align="middle"
src="images/right.gif" width="16" height="16" />
</text>
<url>/option2.html</url>
<subMenu>
<menuItem>
<text>
<![CDATA[<img align="middle" src="images/paw.gif"
width="20" height="16" /> Animal Facts <img
align="middle" src="images/right.gif" width="16"
height="16" />]]>
</text>
<url>/suboption2.1.html</url>
<subMenu>
<menuItem>
<text>Facts about Terriers</text>
<url>/suboption2.1.1</url>
</menuItem>
<menuItem>
<text>Facts about Beagles</text>
<url>/suboption2.1.2</url>
</menuItem>
<menuItem>
<text>Facts about Great Danes</text>
<url>/suboption2.1.3</url>
</menuItem>
<menuItem>
<text>Facts about Poodles</text>
<url>/suboption2.1.4</url>
</menuItem>
</subMenu>
</menuItem>
<menuItem>
<text>
&nbsp;&nbsp;&nbsp;Facts About
Goats
</text>
<url>/suboption2.2.html</url>
</menuItem>
<menuItem>
<text>
&nbsp;&nbsp;&nbsp;Facts About
Snakes
</text>
<url>/suboption3.2.html</url>
</menuItem>
</subMenu>
</menuItem>
<menuItem>
<text>
<img align="middle" src="images/email.gif" width="18"
height="18" /> Contact
</text>
<url>mailto:mitchell@4guysfromrolla.com</url>
</menuItem>
</menu>
Добавление кода
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
MainMenu.DataSource = GetSiteMapDataSource("firtmenu.xml");
MainMenu.DataBind();
}
}
private XmlDataSource GetSiteMapDataSource(string siteMapFileName)
{
if (siteMapFileName != string.Empty)
{
XmlDataSource xmlSource = new XmlDataSource();
xmlSource.DataFile = siteMapFileName;
xmlSource.DataBind();
return xmlSource;
}
else
{ return null; }
}