Problem med tilgang til en dynamisk tilføjet WebUserControl
Hej Eksperter!Jeg har prøvet at løse dette problem et stykke tid nu, og jeg kan ikke finde på en fornuftig løsning selv. Har søgt nettet rimmelig meget og læst dokumentationen for .NET 1.1. Men alle sider som jeg fandt manglede lige at gennemgå det problem som jeg sidder med:
Jeg har en WebUserControl hvor jeg kun har en TextBox på og kildekoden er her:
public class WebUserControl1 : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.TextBox TextBox1;
public String Text { get { return TextBox1.Text; } set { TextBox1.Text=value; } }
private void Page_Load(object sender, System.EventArgs e)
{
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
-------
Denne WebUserControl tilføjer jeg til min side på følgende måde i Page_Load:
for (Int32 i=0;i<10;i++)
{
WebUserControl1 wuc = (WebUserControl1)LoadControl("WebUserControl1.ascx");
wuc.Text=i.ToString();
plhUserControls.Controls.Add(wuc); // Tilføjer til PlaceHolder
}
------
Jeg tilføjer den altså dynamisk og et vilkårigt antal. På den side hvor jeg tilføjer WebUserControl har jeg en knap hvor actionlisteneren ser således ud:
private void Button1_Click(object sender, System.EventArgs e)
{
foreach (Control c in plhUserControls.Controls)
{
WebUserControl1 wuc = (WebUserControl1)c;
if (wuc.Text.Equals("5")) TextBox1.Text="Found match";
}
}
------
Problemet her er at min PlaceHolder ikke indeholder nogen Control objekter ved PostBack. De er som forsvundet fra serversiden.
Spørgsmålet er hvordan jeg får fat i mine dynamisk tilføjet WebUserControl's på serveren ved en PostBack.
Håber at nogen af jer kan hjælpe mig med at løse dette problem!