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