我在學習如何爲asp.net製作服務器控件。我使用第三方服務器控件的DevExpress。我試圖添加一個DevExpress按鈕到我的服務器控件。服務器控件中的服務器控件ASP.NET
public class Class1 : CompositeControl
{
private DevExpress.Web.ASPxEditors.ASPxButton btnTest;
protected override void Render(HtmlTextWriter writer)
{
btnTest.RenderControl(writer);
}
protected override void CreateChildControls()
{
btnTest = new DevExpress.Web.ASPxEditors.ASPxButton();
btnTest.Text = "wazzzup";
Controls.Add(btnTest);
}
}
出於某種原因,在設計視圖按鈕不會顯示出來,除非有相同的頁面作爲我的服務器控件上的另一個DevExpress的控制。任何想法如何解決這個問題?
嘗試在'btnTest.RenderControl(writer);'之後添加'base.Render(writer);'。 – Candide 2012-07-12 17:19:16
如果在標記中使用,則只需要使用[@Register]註冊控件,但不能在自定義控件中使用。它應該在控制範圍內工作...嘗試@Ingenu的建議,看看它是否有所作爲... – 2012-07-12 17:23:46
其實我錯了,它會使用btnTest.RenderControl(writer)註冊devexpress控件;唯一的問題是它不會出現在設計視圖中,除非在同一頁面上有另一個devexpress控件。 (我修改了我的問題) – 2012-07-12 20:43:45