コード ビハインドから ASP.NET メニュー コントロールのメニュー項目ごとに異なる cssclass を設定するにはどうすればよいですか? これらのメニュー項目はすべて level2 にあります。したがって、level2 のすべてのメニュー項目が同じ cssclass(level2class) になり、それぞれに異なるスタイルを設定できるようにしたいため、このようなものは機能しません。
<LevelMenuItemStyles>
<asp:MenuItemStyle CssClass="level1class"/>
<asp:MenuItemStyle CssClass="level2class"/>
</LevelMenuItemStyles>
だから私はこのようなことをしたいと思います:
MenuItem myMenu = new MenuItem();
myMenu.Text = "MyMenu";
Menu1.Items.Add(myMenu); //Menu1 is the name of the asp.net Menu control
foreach (DataRow row in myDataTable.Rows)
{
MenuItem myItem = new MenuItem();
string myItemName = row["myItemName"].ToString();
myItem.Text = myItemName;
//HERE COMES THE PROBLEM. I'M NOT ABLE TO DEFINE A DIFFERENT CSSCLASS FOR EACH MENUITEM.
if (myItemName == "x1")
{
myItem.CssClass = "x1class"; //THIS DOES NOT WORK AS MENUITEM DOES NOT HAVE CSSCLASS PROPERTY
}
else if (myItemName == "x2")
{
myItem.CssClass = "x2class"; //THIS DOES NOT WORK AS MENUITEM DOES NOT HAVE CSSCLASS PROPERTY
}
myMenu.ChildItems.Add(myItem);
}
もう1つは機能する可能性がある代替手段を試しましたが、スタックしています:
if (myItemName == "x1")
{
MenuItemStyle ms = new MenuItemStyle();
ms.CssClass = "x1class";
//HOW DO I SET ms OBJECT TO THE myItem OBJECT?
}
else if (myItemName == "x2")
{
MenuItemStyle ms = new MenuItemStyle();
ms.CssClass = "x2class";
//HOW DO I SET ms OBJECT TO THE myItem OBJECT?
}
ありがとうございました