我有一个包含ASP.NET服务器端菜单控件的母版页(System.Web.UI.WebControls.Menu)
我在这里使用CSSFriendly适配器
http://www.asp.net/CSSAdapters/Menu.aspx
并且它们确实使渲染的HTML更加清晰,但是我仍然将内联样式输出到HTML中的HEAD元素中,就像这样
<style type="text/css">
.ctl00_SiteHeader1_TabBar1_Menu1_0 { background-color:white;visibility:hidden;display:none;position:absolute;left:0px;top:0px; }
.ctl00_SiteHeader1_TabBar1_Menu1_1 { text-decoration:none; }
.ctl00_SiteHeader1_TabBar1_Menu1_2 { }
.ctl00_LeftColumnContent_LeftHandNavigator1_Menu1_0 { text-decoration:none; }
</style>
</head>
<body>
Run Code Online (Sandbox Code Playgroud)
我认为这些样式是由ASP.NET生成的,我不认为我需要它们,因为我正在使用CSSAdapters所以有什么方法可以阻止它们被生成?
德里克
简而言之,这并不容易完成。该代码在预渲染阶段通过菜单添加到标题中。
一个可能的解决方法可能是在自定义菜单控件中覆盖菜单的 onprerender 并且不调用 base。然后,您可以使用tagMappings将默认菜单控件替换为您自己的菜单控件。
如果可以的话,我建议您远离菜单控件。
| 归档时间: |
|
| 查看次数: |
2417 次 |
| 最近记录: |