ASP:菜单.SelectedValue不工作
本文关键字:工作 SelectedValue 菜单 ASP | 更新日期: 2023-09-27 18:02:26
我一直在尝试使用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;
这些都不会以任何方式影响标签。一般来说,这种控制是否存在问题,或者我错过了一个明显的错误。谢谢。
只要您使Menu1可见并将onmenuitemclick="Menu1_MenuItemClick1"更改为onmenuitemclick="Menu1_MenuItemClick",这就可以工作了。
I Menu1需要改变可见性,请提供代码,显示你如何做到这一点。
编辑:
试着把问题分解成小块:
- 问题可能是您在尝试访问所选菜单项时出错
- 在lblUpload 中显示选中的项目可能有问题
最好的检查方法是在Menu1_MenuItemClick上设置一个断点,通过按F5开始调试,并查看Menu1.SelectedItem。文本。
Try
lblUpload.Text = e.Item.Text;