在menuItem事件之后回滚下拉列表

时间:2011-04-29 10:58:54

标签: c# asp.net drop-down-menu postback menuitem

我在我的母版页中创建了一个下拉列表,我可以在其中选择一家公司。选择公司后,我被重定向,但是我想要的是一种方法,一旦从导航栏中点击另一个菜单项,就将此下拉列表设置回默认值。

我为菜单的值创建了一个事件。 这是我正在使用的代码:

protected void MenuAdmin_MenuItemClick(object sender, MenuEventArgs e)
    {
        if (e.Item.Value == "Something")
        {
            DropDownListComp.SelectedValue = "-1";
            Response.Redirect("~/test/test.aspx");
        }
    }

我的菜单有一个menuItem,其值为Something。

<asp:Menu ID="MenuAdmin" runat="server" CssClass="menu" 
   EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal" 
   Visible="false" Font-Names="Verdana" onmenuitemclick="MenuAdmin_MenuItemClick">
      <Items>
          <asp:MenuItem  Text="Something" Value="Something"/>
          </asp:MenuItem>
      </Items>
</asp:Menu>

我创建的下拉列表在listitem中的值为-1,如下所示:

 <asp:DropDownList ID="DropDownListComp" runat="server"  
  onselectedindexchanged="DropDownListComp_SelectedIndexChanged"
  DataSourceID="SqlDataSourceComp" DataTextField="tCompName"  
  DataValueField="tCompId" AutoPostBack="true" AppendDataBoundItems="True">
     <asp:ListItem Text="--Select company--" Value ="-1" Selected="False"></asp:ListItem>
 </asp:DropDownList>

所以我想知道为什么这不起作用。菜单会重定向,但它不会将我的下拉列表返回 - 选择公司 - 。我尝试用断点计算它,当它运行if语句时它表示值为-1。这就像我的主页没有更新,只是主要内容。所以我想我必须做一个回复或事件中的事情?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我在其他网站上看到同样的问题。他们使用下拉列表旁边的按钮解决了这个问题,该按钮从下拉列表中获取selectedValue的值并重定向。

实际上,当您第一次在下拉列表中选择任何内容时,会触发相同的事件。

问候。