簡體   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