[英]Overriding protected internal methods
我正在将Web应用程序重写为ASP.Net 4.0,并包括一个Menu控件(自然地绑定到SiteMap文件)。 虽然我喜欢新的RenderingMode属性,但我讨厌它自动在页面底部包含一些javascript动画菜单这一事实。
我的首选是使用jQuery进行更大的控制,但是要关闭它非常困难。 在非常沉重的击球手的帮助下,我已逐步了解到ASP.Net 4.0 Menu控件具有内部OnPreRender方法的地方:
internal void OnPreRender(EventArgs e, bool registerScript);
如何覆盖此方法,以便可以调用:
base.OnPreRender(e, false);
目前,尝试时,我从Visual Studio中收到一条错误消息,提示“方法'OnPreRender'的任何重载都不需要2个参数”。
您应该能够引用protected internal
方法,因为它们是protected
或 internal
。 如果该方法只是internal
方法,那么您可能不走运。
查看ASP.NET 4 Menu控件,它只有一个OnPreRender
覆盖:
protected internal override void OnPreRender(EventArgs e);
因此,您应该能够覆盖它。 不确定OnPreRender(EventArgs e, bool registerScript)
来源(也许是internal
),但是基类不是(或无法访问)的事实是您的问题。
这不是一个直接的答案,但是将任何IHeirarchicalDataSource的内容(例如站点地图文件)转储到<ul>
相当简单,任何数量的jquery菜单产品都可以将其咀嚼并变成紫红色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.