繁体   English   中英

覆盖受保护的内部方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM