ASP.NET菜单从VS2008呈现不同于VS2010 [英] ASP.NET Menu rendering different from vs2008 to vs2010

查看:160
本文介绍了ASP.NET菜单从VS2008呈现不同于VS2010的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有使用VS2008,最初建立了一个网站。我们最近升级到VS2010。当我转换的项目,VS2010项目我告诉它不更新目标框架从3.5到4.0。至于我可以看所有引用和项目框架内的一切告诉仍在3.5,但由于某种原因,我的ASP.NET菜单在渲染HTML表格来跨去。我知道,在4.0他们补充说Menu.RenderingMode财产,默认它列表,而不是表,但因为一切我建立为3.5不仅应该把它呈现在表模式,但我甚至无法手动将其设置为表模式。任何人都知道这(preferably不是在跨度或升级到4.0,CSS破解除外)修复?我只想升级到4.0,但我们都没有做好准备呢。我甚至没有信心,将修复它,因为它不是渲染醇或UL和李标签(列表),它的渲染跨度。​​

I have a web site that was originally built using vs2008. We've recently upgraded to vs2010. When i converted the projects to vs2010 projects i told it NOT to update the target framework from 3.5 to 4.0. As far as i can tell from looking at all references and the project framework everything is still on 3.5 but for some reason my ASP.NET menus went from rendering html tables to spans. I know that in 4.0 they added Menu.RenderingMode property and defaulted it to List instead of Table but since everything i'm building is 3.5 not only should it render in Table mode but I can't even manually set it to Table mode. Anyone know a fix for this (preferably other than a css hack on the spans or upgrading to 4.0)? I would just upgrade to 4.0 but we aren't ready for that yet. I'm not even confident that would fix it since it's not rendering an ol or ul with li tags (a list), it's rendering spans.

推荐答案

菜单呈现的问题是不是VS2008至2010年的转换有关。的asp.net 3.5 asp.menu控制没有在Chrome和Safari正确呈现。

The menu rendering problem is not related to vs2008 to 2010 conversion. asp.menu control of asp.net 3.5 is not rendered properly in chrome and safari.

最简单的方法来解决这个为Safari和Chrome是,包括在App_Browsers文件你自己的浏览器文件,以禁用此适配器。

The easiest way to fix this for both Safari and Chrome is to include your own browser file in App_Browsers in order to disable this adapter.

 <browsers>
  <!-- Disable the Menu Adapter for the Safari browser without changing the root browser file -->
  <browser refID="Safari1Plus">
    <controlAdapters>
      <adapter controlType="System.Web.UI.WebControls.Menu"
               adapterType="" />
    </controlAdapters>
  </browser>
</browsers>


刚刚粘贴页或母版页的加载事件下面的code(如果使用)。

And Just paste the below code in the load event of Page or Master Page (if used).

if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
 {
   Request.Browser.Adapters.Clear();
 }

这篇关于ASP.NET菜单从VS2008呈现不同于VS2010的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆