2010-11-17 90 views
1

我開發了一個asp.net控件,它繼承自gridview和它的名爲gridviewex ...我需要一些頁面導航的東西來呈現它下面的一些自定義分頁,我正在實施..一切順利,但我不能似乎添加新控件的控件..ASP.NET將gridview擴展爲在gridview下顯示導航欄?

例如,我想要做的是在網格下添加一個asp.net面板,並添加linkbuttons面板。

我有這到目前爲止,但它給出了一個錯誤

Unable to cast object of type 'System.Web.UI.WebControls.Panel' to type 
    'System.Web.UI.WebControls.Table'. 

的代碼..

protected override void OnPreRender(EventArgs e) 
    { 
     base.OnPreRender(e); 

     Panel uxGridViewNavigation = new Panel(); 

     LinkButton linkButton = null; 

     linkButton = new LinkButton(); 
     linkButton.Text = "First"; 
     linkButton.Click += new EventHandler(linkButton_Click); 

     uxGridViewNavigation.Controls.Add(linkButton); 

     this.Controls.Add(uxGridViewNavigation); 

    } 

我會很感激任何幫助。它的我的第一個服務器控件擴展:-)

感謝

+0

我從來沒有做過一個服務器控件的擴展,但你嘗試過使用的GridView的'ShowFooter'財產然後將控件添加到最後一行(這是頁腳行)? – 2010-11-17 16:29:06

+0

感謝馬修,但我真的需要擴展它......因爲我需要用它做更多的事情:-) – Martin 2010-11-17 16:32:27

回答

2

覆蓋Render,如:

override Render(HtmlTextWriter writer) 
{ 
    // outputs all the inner magic of your grid 
    base.Render(writer); 

    Panel panel = new Panel(); 
    // do magic 

    // now also render the panel to the writer 
    panel.RenderControl(writer); 
} 
+0

謝謝!正是我需要的 – Martin 2010-11-17 16:44:18