【ASP.NET】ASP.net Menu控件设置

1.删除Menu控件节点的三角型 

  Menu控件设置如下属性:

StaticEnableDefaultPopOutImage="False" 
StaticPopOutImageUrl=""
DynamicEnableDefaultPopOutImage="False"
DynamicPopOutImageUrl=""

  设置StaticEnableDefaultPopOutImage为false后,生成的HTML代码里会自动追加如下TD标签,页面上菜单间有明显的空格。

<td style="3px;"></td>

  设置Menu如下属性(IE8下有效,IE9暂时没有测试):

StaticMenuItemStyle-ItemSpacing="0px"

  参考:http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net-web-controls/6764/Menu-Control

2.删除Menu控件上的空白

空白内容的html代码如下:

<a href="#NavigationMenu_SkipLink">
<img alt="Skip Navigation Links"
src
="/WebResource.axd?d=wlQCiyQruo1sPgUtJutxTFJkrT98jcNcF8KtrF7
_COqpxszhDn7CfICeZLdV82xsqAAibBRwvaGtyLmJPZBXnj
3p5XD0uKhLQNirrRB7G1s1&amp;t=634221564871865938"

width
="0" height="0" style="border-0px;"/>
</a>

  设置SkipLinkText属性为空可不生产上述代码。

SkipLinkText=""

  参考:http://sim4all.com/blogging/?p=47

3.修改Menu控件为单击打开下拉菜单

protectedoverridevoid Render(HtmlTextWriter writer) {
StringBuilder stringBuilder
= newStringBuilder();

StringWriter stringWriter
= newStringWriter(stringBuilder);
HtmlTextWriter htmlWriter
= newHtmlTextWriter(stringWriter);

base.Render(htmlWriter);
string html = stringBuilder.ToString();

html
= html.Replace("onmouseover=""Menu_HoverStatic(this)""","onclick=""Menu_HoverStatic(this)""");


writer.Write(html);
}

 参考:http://forums.asp.net/t/1138755.aspx/1

原文地址:https://www.cnblogs.com/Ryukaka/p/2179136.html