我正在使用ASP.NET 4.0,并测试ASP.NET XHTML与某些组件的兼容性,发现服务器控件<asp:Menu>无法正常使用XHTML。
我希望浏览器将页面视为XHTML,而不是HTML文档(HTML/text内容类型的默认值)。由于只有最新的浏览器才能识别此模式(自版本9以来仅限IE),我正在使用内容类型协商(请参阅:http://msdn.microsoft.com/en-us/library/aa479043.aspx#aspnetusstan_topic8)以便在浏览器是否支持时进行正确处理。
void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
if (Array.IndexOf(Request.AcceptTypes, "application/xhtml+xml") > -1)
{
Response.ContentType = "application/xhtml+xml";
}
}
也就是说,除了<asp:Menu>组件,无法正确渲染。
我发现问题出在用于处理菜单组件的WebResource.axd生成的javascript中。
有人遇到过这样的问题,并想出了一些解决办法吗?
提前谢谢。
问题本身没有得到解决。为了使网站能够正确呈现,我只需继续将其页面作为"html/text"提供,删除内容类型协商。