Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是什么原因导致IE8下我的ASP.NET菜单中的菜单项后面出现额外的空行?_C#_Asp.net_Internet Explorer 8_Aspmenu Control - Fatal编程技术网

C# 是什么原因导致IE8下我的ASP.NET菜单中的菜单项后面出现额外的空行?

C# 是什么原因导致IE8下我的ASP.NET菜单中的菜单项后面出现额外的空行?,c#,asp.net,internet-explorer-8,aspmenu-control,C#,Asp.net,Internet Explorer 8,Aspmenu Control,我第一次使用asp:Menu时遇到了一个问题 我有四个选项的水平菜单。第三个选项是“过滤器”。将鼠标悬停在“过滤器”上会生成一个带有多个选项的垂直下拉菜单,其中两个选项是“过滤器类别一”和“过滤器类别二”。带有这些选项的下拉菜单看起来很好,直到我将鼠标悬停在其中一个有子项的选项上(例如“Filter Category one”) 此时,“Filter Category One”(过滤类别1)下会出现一个空行,同时它自己的菜单选项(子菜单)会显示在右侧。3级菜单的底部也会出现一条空行,这是我将鼠标

我第一次使用asp:Menu时遇到了一个问题

我有四个选项的水平菜单。第三个选项是“过滤器”。将鼠标悬停在“过滤器”上会生成一个带有多个选项的垂直下拉菜单,其中两个选项是“过滤器类别一”和“过滤器类别二”。带有这些选项的下拉菜单看起来很好,直到我将鼠标悬停在其中一个有子项的选项上(例如“Filter Category one”)

此时,“Filter Category One”(过滤类别1)下会出现一个空行,同时它自己的菜单选项(子菜单)会显示在右侧。3级菜单的底部也会出现一条空行,这是我将鼠标悬停在“Filter Category One”上时出现的子菜单。换句话说,包含选项Filter 1.1、Filter 1.2和Filter 1.3(请参见下文)的菜单在Filter 1.3下方有一个空行

我怀疑(但不是肯定的)当过滤器类别1徘徊在过滤器类别1和过滤器类别二之间的空行与过滤器1.3之后出现的额外空白行的原因相同。

我的客户只使用IE 8。我使用Firefox和Chrome浏览器浏览,没有遇到这个特殊问题。(出现了许多其他问题,但不是这个问题。)

我在stackoverflow和其他地方发现了关于asp:Menu和IE8的投诉,但我没有看到与我相同的投诉

我将感谢任何帮助

如果有办法上传的话,我很乐意附上一张照片

后续:我们使用IE8怪癖模式。该问题在IE8标准或IE7标准模式下消失(尽管出现了其他问题)


无法使用兼容性视图中的以下代码和IE8复制您的问题。请更正我的doctype或任何与您不同的内容,以便此代码在IE8中也打断/显示空行

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <asp:Menu 
                    OnMenuItemClick="Menu_ItemSelected"
                    Orientation="Horizontal" 
                    ID="MainMenu" 
                    runat="server" 

                    StaticDisplayLevels="1"

                    DynamicHoverStyle-BackColor="LightGray" 
                    DynamicHoverStyle-BorderColor="Black"
                    DynamicHoverStyle-BorderStyle="Solid" 
                    DynamicHoverStyle-BorderWidth="1" 

                    StaticMenuItemStyle-BorderColor="gray"
                    StaticMenuItemStyle-BorderWidth="1" 
                    StaticMenuItemStyle-BorderStyle="Solid" 
                    StaticMenuItemStyle-HorizontalPadding="15px" 

                    DynamicMenuStyle-BorderColor="Black"
                    DynamicMenuStyle-BorderStyle="Solid" 
                    DynamicMenuStyle-BorderWidth="1" 
                    DynamicMenuStyle-BackColor="WhiteSmoke"
                    DynamicMenuStyle-HorizontalPadding="0" 

                    DynamicMenuItemStyle-HorizontalPadding="5"
                    DynamicMenuItemStyle-Font-Size="X-Small"

                    >
                    <Items>
                        <asp:MenuItem Text="Home" NavigateUrl="javascript:mainPage_Click()" />
                        <asp:MenuItem Text="Job Details" NavigateUrl="javascript:jobDetailsPage_Click()" />

                        <asp:MenuItem Selectable="false" Text="Filter">

                            <asp:MenuItem Selectable="true" Text="Clear Filter"/>

                            <asp:MenuItem Selectable="false" Text="Filter Category One">
                                <asp:MenuItem Selectable="true" Text="Filter 1.1"/>
                                <asp:MenuItem Selectable="true" Text="Filter 1.2"/>
                                <asp:MenuItem Selectable="true" Text="Filter 1.3"/>
                            </asp:MenuItem>

                            <asp:MenuItem Selectable="false" Text="Filter Category Two">
                                <asp:MenuItem Selectable="true" Text="Filter 2.1"/>
                                <asp:MenuItem Selectable="true" Text="Filter 2.2"/>
                                <asp:MenuItem Selectable="true" Text="Filter 2.3"/>
                            </asp:MenuItem>

                        </asp:MenuItem>

                        <asp:MenuItem Text="Help" NavigateUrl="ITOBPSLADB_help.htm" Target="_blank" />                            
                    </Items>
                </asp:Menu>
    </div>
    </form>
</body>
</html>


请不要将navigateurl的目标设置为javascript函数。它使鼠标中键无法在新选项卡中打开,并破坏了可访问性(这是某些国家的法律要求)。我在IE8中测试了此代码,悬停时没有出现空行-这意味着可能是您设置的任何其他CSS的问题。Nikki9696,是不是在IE8怪癖模式下?Nikki,我的navigateurl目标是JavaScript函数,这些函数使JavaScript所属的同一HTML页面的可见或不可见部分可见。这有什么不对?如果情况不好,我该怎么做?顺便说一句,这不是一个应用程序的一般公众。这是一个内部应用程序,只供一家美国公司的一部分人使用。哦,为了回答这个问题,如果这是一个外部网站,并且有工作清单之类的东西,那么用户一次很难查看多个清单。这实际上是我对petfinder的不满——链接不会在新标签中打开,我会因为搜索而失去位置。因此,这是一个简单的烦恼因素。更大的问题(同样是外部网站)是该网站在视障人士使用的浏览器中无法正常运行,在搜索引擎中也无法很好地索引。我将您的代码复制到了一个新项目中。我不得不将Inherits=“WebApplication3.\u Default”更改为Inherits=“WebApplication2.\u Default”,并删除了OnMenuItemClick。空白线问题直到我切换到IE8 Quikes模式才出现,这就是这个公司使用的。编辑:哦,等等。当你说“空行”时,你是指“家”和“工作细节”之间的一点点空白吗?我打赌我找错地方了。不,那一点点空白是故意的。只有将鼠标悬停在过滤器选项上,然后将鼠标悬停在过滤器类别1上,才能看到此问题。但我认为你必须处于IE8怪癖模式才能复制这个问题。基本上,当您将鼠标悬停在过滤器类别1上时,过滤器类别1和过滤器类别2之间会出现一个关于线条高度的空白。在这些子菜单中的Filter 1.3(和Filter 2.3)下也会出现类似的空白区域。因为即使在上面的代码中也出现了这个问题,所以我排除了CSS的原因。我真的认为这是IE8的问题,但我想解决它。谢谢你的帮助!我看不到一个空行,真让我难受。祝你任务顺利,抱歉我帮不了你更多。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <asp:Menu 
                    OnMenuItemClick="Menu_ItemSelected"
                    Orientation="Horizontal" 
                    ID="MainMenu" 
                    runat="server" 

                    StaticDisplayLevels="1"

                    DynamicHoverStyle-BackColor="LightGray" 
                    DynamicHoverStyle-BorderColor="Black"
                    DynamicHoverStyle-BorderStyle="Solid" 
                    DynamicHoverStyle-BorderWidth="1" 

                    StaticMenuItemStyle-BorderColor="gray"
                    StaticMenuItemStyle-BorderWidth="1" 
                    StaticMenuItemStyle-BorderStyle="Solid" 
                    StaticMenuItemStyle-HorizontalPadding="15px" 

                    DynamicMenuStyle-BorderColor="Black"
                    DynamicMenuStyle-BorderStyle="Solid" 
                    DynamicMenuStyle-BorderWidth="1" 
                    DynamicMenuStyle-BackColor="WhiteSmoke"
                    DynamicMenuStyle-HorizontalPadding="0" 

                    DynamicMenuItemStyle-HorizontalPadding="5"
                    DynamicMenuItemStyle-Font-Size="X-Small"

                    >
                    <Items>
                        <asp:MenuItem Text="Home" NavigateUrl="javascript:mainPage_Click()" />
                        <asp:MenuItem Text="Job Details" NavigateUrl="javascript:jobDetailsPage_Click()" />

                        <asp:MenuItem Selectable="false" Text="Filter">

                            <asp:MenuItem Selectable="true" Text="Clear Filter"/>

                            <asp:MenuItem Selectable="false" Text="Filter Category One">
                                <asp:MenuItem Selectable="true" Text="Filter 1.1"/>
                                <asp:MenuItem Selectable="true" Text="Filter 1.2"/>
                                <asp:MenuItem Selectable="true" Text="Filter 1.3"/>
                            </asp:MenuItem>

                            <asp:MenuItem Selectable="false" Text="Filter Category Two">
                                <asp:MenuItem Selectable="true" Text="Filter 2.1"/>
                                <asp:MenuItem Selectable="true" Text="Filter 2.2"/>
                                <asp:MenuItem Selectable="true" Text="Filter 2.3"/>
                            </asp:MenuItem>

                        </asp:MenuItem>

                        <asp:MenuItem Text="Help" NavigateUrl="ITOBPSLADB_help.htm" Target="_blank" />                            
                    </Items>
                </asp:Menu>
    </div>
    </form>
</body>
</html>