私が見つけたBind ASP.NET Menu control to XML質問が私の問題を見つけるのに役立ちます。今、私が直面しています問題は、私はそれがダウンして、通常のドロップを持っていると思います。それに接続されているメニューを拡充などにもメインメニュー(私のメニューは次のようになります。私はそれを達成することはできますか?XMLファイルのASP.NETメニュー、右下にドロップダウンがあります。
マイXMLFILE装着されている。私は、ルートタグを削除しようとしたが、それは、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:[email protected]</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; }
}
XMLReaderを使用してXMLを解析し、それからメニューを作成するのはなぜですか? – CBRRacer
私は簡単な解決策が必要です。私はこれを発見し、それはこの問題を持っています。他のオプションを試すことができます –