通过ASP.NET菜单控件禁用javascript生成

Wil*_*nts 5 asp.net

在我的网站中,我使用的是标准的ASP.NET菜单控件.我已经编写了一个自定义控件适配器来摆脱默认控件适配器生成的相当俗气的html输出.

但有一件事让我感到不安.不知何故,ASP.NET正在生成我不想要也不需要我的菜单控件的额外JavaScript,因为我不会使用控件中的任何动态功能.我替换了控件适配器,因此它不会为此生成兼容的HTML.

任何人都知道如何阻止ASP.NET为菜单控件生成额外的javascript?

Tim*_*ord 4

在安装 vs 2010 升级到 ASP.net 4.0 后,这个问题突然出现在我身上。解决方法是强制菜单呈现为表格或关闭4.0添加的新 CSS/javascript“功能”。将菜单的 RenderingMode 属性设置为“Table”为我解决了这个问题,即使我使用菜单适配器来呈现带有列表的控件。

<asp:Menu ID="mnuStuff" runat="server" RenderingMode="Table">
    ...
</asp:Menu>
Run Code Online (Sandbox Code Playgroud)

您可以在 web.config 中将此站点范围内的 controlRenderingCompatibilityVersion 设置为3.5 :

<system.web> 
  <pages controlRenderingCompatibilityVersion="3.5"/> 
</system.web>
Run Code Online (Sandbox Code Playgroud)

这将消除 asp 在页面底部注入的内联 javascript 的呈现。