在MenuItem onclick中交换图像

时间:2012-09-21 09:42:10

标签: c# asp.net menuitem

有没有办法在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控件中交换的建议。 ??

1 个答案:

答案 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";

            }
        }