在menuItem事件后回滚下拉列表

本文关键字:下拉列表 menuItem 事件 | 更新日期: 2023-09-27 17:54:00

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

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

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>

我创建的列表中值为-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。这就像我的主页没有更新,只有主要内容。所以我想我需要在活动中做回帖什么的?谢谢你的帮助。

在menuItem事件后回滚下拉列表

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

实际上,当你第一次选择下拉列表中的任何东西时,触发的事件是相同的。

问候。