Html asp:在.NET2.0上运行的菜单在IE中显示为表格,而不是在chrome或其他浏览器中
我的问题是相关的或是扩展的 我有一个类似的问题,但在不同的浏览器上。我的应用程序的目标是asp.net 2.0。母版页有一个菜单Html asp:在.NET2.0上运行的菜单在IE中显示为表格,而不是在chrome或其他浏览器中,html,asp.net,Html,Asp.net,我的问题是相关的或是扩展的 我有一个类似的问题,但在不同的浏览器上。我的应用程序的目标是asp.net 2.0。母版页有一个菜单。它在Internet Explorer中呈现为表,看起来与预期的一样。但是,它不适用于Chrome或其他浏览器。它呈现为。。你能帮我解决这个问题吗 ASP代码 如果您使用的是.NET 4.0,您可以在菜单控件本身上切换渲染模式 但您不是,您是在.NET 2.0上,渲染模式设置还不可用 但是,您可以将此代码段放入全局应用程序类(global.asax)开始请求事件中:
。它在Internet Explorer中呈现为表,看起来与预期的一样。但是,它不适用于Chrome或其他浏览器。它呈现为。
。你能帮我解决这个问题吗
ASP代码
如果您使用的是.NET 4.0,您可以在菜单控件本身上切换渲染模式 但您不是,您是在.NET 2.0上,渲染模式设置还不可用 但是,您可以将此代码段放入全局应用程序类(global.asax)开始请求事件中:
// global.asax.cs
void Application_OnBeginRequest( object sender, EventArgs e )
{
HttpApplication app = ( HttpApplication )sender;
HttpContext ctx = app.Context;
// fixes menu rendering issue for chrome under .net 2.0
if (
ctx.Request != null &&
!string.IsNullOrEmpty( ctx.Request.UserAgent ) &&
ctx.Request.UserAgent.Contains( "AppleWebKit" )
)
ctx.Request.Browser.Adapters.Clear();
}
问题是ASP.NET运行时使用了一些额外的呈现适配器,您只需删除这些适配器。您能提供ASP和呈现的代码吗(限于表格)?@trincot我已在说明中添加了代码