0

我一直在尝试使用 ASP:Menu.SelectedValue 属性,但它不起作用,所以如果有人在此之前使用过,请继续阅读。这是代码。

<asp:Menu ID="Menu1" runat="server" BackColor="#B5C7DE" 
            DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em" 
            ForeColor="#284E98" onmenuitemclick="Menu1_MenuItemClick1" 
            StaticSubMenuIndent="10px" Visible="False">
            <DynamicHoverStyle BackColor="#284E98" ForeColor="White" />
            <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
            <DynamicMenuStyle BackColor="#B5C7DE" />
            <DynamicSelectedStyle BackColor="#507CD1" />
            <Items>
                <asp:MenuItem Selectable="False" Text="Analysis" Value="Analysis">
                    <asp:MenuItem Selectable="False" Text="Descriptive" Value="Descriptive">
                        <asp:MenuItem Text="Mean" Value="Mean"></asp:MenuItem>
                        <asp:MenuItem Text="Median" Value="Median"></asp:MenuItem>
                        <asp:MenuItem Text="Mode" Value="Mode"></asp:MenuItem>
                    </asp:MenuItem>
                </asp:MenuItem>
            </Items>
            <StaticHoverStyle BackColor="#284E98" ForeColor="White" />
            <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
            <StaticSelectedStyle BackColor="#507CD1" />
</asp:Menu>

以及背后的代码

protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
        {
            MenuItem selectedItem = Menu1.SelectedItem;
            lblUpload.Text = Menu1.SelectedItem.Text;

            if (Menu1.SelectedItem.Text == "Mean")
            {
                lblSet.Visible = true;
                DropDownList1.Visible = true;
                btnCalculate.Visible = true;
            }
        }

我在行中添加

 lblUpload.Text = Menu1.SelectedItem.Text;

在可见且有效的标签上测试输出,但没有返回任何内容。任何人都可以看到这个问题吗?我也测试过;

lblUpload.Text = SelectedItem.Text/.value;
lblUpload.Text = Menu1.SelectedItem.Value;
lblUpload.Text = Menu1.SelectedItem.ValuePath;

无论如何,这些都不会影响标签。这个控件一般有问题还是我错过了一个明显的错误。感谢任何反馈谢谢。

4

2 回答 2

0

尝试

lblUpload.Text = e.Item.Text;
于 2011-07-17T22:19:47.940 回答
0

只要您使 Menu1 可见并将 onmenuitemclick="Menu1_MenuItemClick1" 更改为 onmenuitemclick="Menu1_MenuItemClick",这就会起作用。

我 Menu1 需要更改可见性,请提供显示您如何执行此操作的代码。

编辑:

尝试将问题分解成小块:

  1. 问题可能是您在尝试访问所选菜单项时出错
  2. 您可能在 lblUpload 中显示所选项目时遇到问题

最好的检查方法是在 Menu1_MenuItemClick 处设置断点,按 F5 开始调试,然后查看那里的 Menu1.SelectedItem.Text。

于 2011-07-17T22:22:33.477 回答