asp.net 4.0菜单控件自动换行

时间:2012-04-16 14:03:49

标签: asp.net menuitem

我的Web应用程序中有一个菜单控件,我无法将菜单项设置为自动换行。这就是我所拥有的:

<asp:Menu ID="PageNav"
                            runat="server" 
                            DataSourceID="PageMapDS" 
                            Orientation="Vertical" 
                            MaximumDynamicDisplayLevels="0" ItemWrap="true"
                            OnMenuItemDataBound="ToolNav_MenuItemDataBound">
                            <StaticMenuItemStyle 
                                BackColor="#7795bd"            
                                BorderColor="#6d8bb2"
                                BorderStyle="Solid"
                                BorderWidth="1px"
                                Height="25px"
                                width="102px" ForeColor="#000" HorizontalPadding="10px"/>
                            <StaticHoverStyle BackColor="#5d7b9d" ForeColor="#FFFFFF" />
                            </asp:Menu>

如果我放入一个文本多于框宽度的项目,它会溢出到页面的其余部分,它不会在框的约束内自动换行。

2 个答案:

答案 0 :(得分:4)

要添加上面的Mario答案,请考虑设置IncludeStyleBlock="False"CssClass="myCustomClass"以及正确设置样式,而不是在控件上使用这些内联样式。

然后,您可以使用CSS控制包装:

(在我的脑海中,我不知道菜单输出的HTML是什么,所以我认为它只是锚点)

    .myCustomClass 
    // assuming this class is added to each anchor <a class="myCustomClass...
    {
      display:block;
      float:left;
      width:102px;
    }

答案 1 :(得分:2)

我看到你已经尝试了ItemWrap,但你可以使用css:word-wrap: break-word