C# 重写受保护的内部方法
我正在将一个web应用程序重写为ASP.NET4.0,并包含一个菜单控件(当然是绑定到站点地图文件)。虽然我喜欢新的RenderingMode属性,但我讨厌它在页面底部自动包含一些javascript来设置菜单动画 我倾向于使用jQuery进行更大的控制,但事实证明,关闭jQuery是非常困难的。在一位重量级人物的帮助下,我了解到ASP.Net 4.0菜单控件有一个内部OnPreRender方法:C# 重写受保护的内部方法,c#,asp.net,web-controls,overriding,C#,Asp.net,Web Controls,Overriding,我正在将一个web应用程序重写为ASP.NET4.0,并包含一个菜单控件(当然是绑定到站点地图文件)。虽然我喜欢新的RenderingMode属性,但我讨厌它在页面底部自动包含一些javascript来设置菜单动画 我倾向于使用jQuery进行更大的控制,但事实证明,关闭jQuery是非常困难的。在一位重量级人物的帮助下,我了解到ASP.Net 4.0菜单控件有一个内部OnPreRender方法: internal void OnPreRender(EventArgs e, bool regis
internal void OnPreRender(EventArgs e, bool registerScript);
如何重写此方法以便调用:
base.OnPreRender(e, false);
在目前尝试时,我从Visual Studio收到一个错误,它说“方法'OnPreRender'没有重载需要2个参数”。您应该能够引用受保护的内部方法,因为它们是受保护的。如果该方法只是
内部,您可能会运气不佳
查看ASP.NET 4菜单控件,它只有一个OnPreRender
覆盖:
protected internal override void OnPreRender(EventArgs e);
所以你应该能够覆盖它。不确定OnPreRender(EventArgs e,bool registerScript)
从何而来(可能是内部的),但是基类没有它(或者它不可访问)这一事实是您的问题 您应该能够参考受保护的内部
方法,因为它们是受保护的
或内部
。如果该方法只是内部,您可能会运气不佳
查看ASP.NET 4菜单控件,它只有一个OnPreRender
覆盖:
protected internal override void OnPreRender(EventArgs e);
所以你应该能够覆盖它。不确定OnPreRender(EventArgs e,bool registerScript)
从何而来(可能是内部的),但是基类没有它(或者它不可访问)这一事实是您的问题 不是一个直接的答案,但将任何iHeiraChicalDataSource(如站点地图文件)的内容转储到任何数量的jquery菜单产品都可以咀嚼和制作的
上是非常简单的。不是一个直接的答案,但转储任何iHeiraChicalDataSource(如站点地图文件)的内容是非常简单的,对于任何数量的jquery菜单产品都可以咀嚼和制作的
。它只是内部的。我想这就是路的尽头了。我想另一种选择是不调用basePreRender
,而是在覆盖中编写自己的版本。也许像Reflector这样的东西可以帮助您了解prerender(EventArgs e,bool registerScript)
的具体功能。它只是内部的。我想这就是路的尽头了。我想另一种选择是不调用basePreRender
,而是在覆盖中编写自己的版本。也许像Reflector这样的东西可以帮助您了解prerender(EventArgs e,bool registerScript)上的到底做了什么