有没有办法在MenuItem Control Onclick事件中交换图像。 我的代码为
<asp:Menu ID="menuTabs" CssClass="menuTabs" StaticMenuItemStyle-CssClass="tab" StaticSelectedStyle-CssClass="selectedTab" OnMenuItemClick="menuTabs_MenuItemClick" runat="server" Orientation="Horizontal"
BackColor="#f4f4f4" BorderStyle="None">
<StaticSelectedStyle CssClass="selectedTab"></StaticSelectedStyle>
<StaticMenuItemStyle CssClass="tab"></StaticMenuItemStyle>
<Items>
<asp:MenuItem Text="" Value="0" Selected="true" ImageUrl="~/Images/Widget1.jpg" />
<asp:MenuItem Text="" Value="1" ImageUrl="~/Images/Widget2.jpg"/>
</Items>
</asp:Menu>
<asp:MultiView ID="multiTabs" ActiveViewIndex="0" runat="server">
<asp:View>
</asp:View>
</asp:MultiView>
Codebehind:
protected void menuTabs_MenuItemClick(object sender, MenuEventArgs e)
{
multiTabs.ActiveViewIndex = Int32.Parse(menuTabs.SelectedValue);
int i;
for (i = 0; (i <= (menuTabs.Items.Count - 1)); i++)
{ if ((i == Int32.Parse(e.Item.Value)))
{ menuTabs.Items[i].ImageUrl = "/Images/Widget1.jpg";
menuTabs.Items[i].PopOutImageUrl = "/Images/Widget2.png";
}
else
{ menuTabs.Items[i].ImageUrl = "/Images/Widget1_over.jpg";
menuTabs.Items[i].PopOutImageUrl = "/Images/Widget2_over.png";
}
} }
我无法在Jquery中使用正常的图像交换,因为控件项也没有id值...任何在MenuItem控件中交换的建议。 ??
答案 0 :(得分:1)
我得到了这个。
protected void menuTabs_MenuItemClick(object sender, MenuEventArgs e)
{
multiTabs.ActiveViewIndex = Int32.Parse(menuTabs.SelectedValue);
if (menuTabs.Items[0].Selected == true)
{
menuTabs.Items[0].ImageUrl = "~/Images/widget1_over.png";
menuTabs.Items[1].ImageUrl = "~/Images/widget2.png";
}
if (menuTabs.Items[1].Selected == true)
{
menuTabs.Items[1].ImageUrl = "~/Images/widget2_over.png";
menuTabs.Items[0].ImageUrl = "~/Images/widget1.png";
}
}