我遇到了一個嵌套控件無法正確加載的問題。我試過各種頁面方法,似乎沒有任何工作。在ASP.NET中加載嵌套的UserControls
編輯:網站編譯和運行良好 - 它只是留下一個空白屏幕。
基本上我有一個Chart的包裝控件,允許我選擇數據,綁定和自定義帶有很多抽象的圖表。我需要另一個包裝控件,因爲可能有一些我想要輕鬆表示的圖表組。
廣義答案也會很好。
這是我的。我把它換成我的自定義屬性/屬性與填料:
的Default.aspx:
<%@ Page Language="C#" CodeBehind="Default.aspx.cs" %>
<%@ Register src="OuterUserControl.ascx" tagname="OuterUserControl" tagprefix="uc2" %>
<uc2:OuterUserControl ID="uc1" runat="server" Att1="foo" Att2="bar" />
OuterUserControl.ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="OuterUserControl.ascx.cs" Inherits="Proj.OuterUserControl" EnableViewState="false" %>
<%@ Register src="InnerUserControl.ascx" tagname="InnerUserControl" tagprefix="uc1" %>
<div runat="server" id="holder"></div>
OuterUserControl.ascx.cs:
private member variables
Att1
Att2
protected void Page_Load(object sender, EventArgs e)
{
for(int i=0;i<5;i++)
{
InnerUserControl cuc = new InnerUserControl(id);
holder.Controls.Add(cuc);
}
}
InnerUserControl.ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="InnerUserControl.ascx.cs" Inherits="Proj.InnerUserControl" %>
<asp:Chart ID="chart" runat="server"></asp:Chart>
InnerUserControl.ascx.cs:
private int id;
//private member variables
public InnerUserControl(int id)
{
this.id = id;
this.chart = new Chart();
}
protected void Page_Load(object sender, EventArgs e)
{
//Get data for given id
//Databind chart
//etc..
}
謝謝,是的,我有。 – Chet 2009-07-08 18:11:07
然後在OuterUserControl.ascx中試試這個<%@ Reference Control =「InnerUserControl.ascx」%> – Slim 2009-07-08 21:02:57