ASP.NET菜单控件在回发后更改位置

时间:2011-06-10 19:20:51

标签: c# .net asp.net internet-explorer aspmenu

我目前正在测试ASP.NET中的菜单我最近使用asp:menu control。

菜单就像我现在想要的那样,但每当有回发更新整个页面时,它向下移动(只有一次,第二次回发不会把它移动一点点)。

  • 这不是CSS - >我从这个菜单中删除了所有CSS)
  • 这不是任何财产 - >我已经注释掉了与自定义菜单相关的所有内容
  • 它上面没有任何其他元素放大 - >我特意将它放在一个表格中,其中唯一的内容是asp:menu control

    它在IE6中向下移动了很多,在IE8中略有下降,在Firefox 4中根本没有移动。

    我该怎么办?还有其他选择吗?我可以使用任何属性,或者我可以把它放在里面的任何外部元素以使它保持静止吗?

    是的,这台将要运行的每台机器都使用的是Internet Explorer。任何网络开发者的噩梦。

    --- [更新] -----
    我在一个单独的项目中构建了一个菜单,效果不存在!我已将完全相同的文件复制到我的项目中,然后运行它,问题出在那里。

    这可能是asp.net版本的不同之处吗?

  • 3 个答案:

    答案 0 :(得分:0)

    您是否使用IE Web开发人员工具栏查看在回发之前和之后该区域的html是什么样的?它似乎更像是一个浏览器问题,因此工具栏会为您提供详细信息,因为差距正在变化,或者可能是什么推动了它。

    答案 1 :(得分:0)

    如果应用程序在asp.net 4.0中,请在第一次呈现后查看页面的源代码,然后在回发后查看。确保它在两者或表上都呈现为div。

    我目前有一个类似的问题,我的菜单会在回发中“展开”。在回发之前,它呈现div。在回发之后,它呈现表格。

    “RenderingMode”菜单上有一个属性,可以控制它,但它对我不起作用。

    答案 2 :(得分:0)

    我遇到了同样的问题。我的导航菜单位于UpdatePanel中,我将UpdateMode从Always更改为Conditional - 问题已解决。这是在我的母版页。