Hej, Du kan få tag på dem via controls collectionen. hantering av postad data från anpassade serverkontroller
Jag har gjort en sida som laddar anpassade serverkontroller dynamiskt i sidans PageLoad-event.
Typ så här:
a = System.Reflection.Assembly.Load("namn1")
t = a.GetType("namn1.kontroll")
c = CType(Activator.CreateInstance(t), Control)
c.GetType().GetProperty("p_ID").SetValue(c, "ettID", Nothing)
PlaceHolder1.Controls.Add(c)
Som ni ser laddar jag kontrollen (från en dll i bin-biblioteket), sätter en eller flera properties och lägger till kontrollen i sidan. Information om vilka kontroller som ska ingå i sidan samt properties kommer jag att hämta från en databas, men det är en senare fråga.
Kontrollerna jag laddar dynamiskt är delar i ett frågeformulär. Användaren ska fylla i frågeformuläret och trycka på en submit-knapp (som jag också skapar dynamimskt). Informationen som fylls i av användaren ska sedan sparas till en databas.
Mina frågor är:
Hur accessar jag värdena som anvädaren angett i de dynamiskt skapade kontrollerna efter att användaren tryckt på submit-knappen? Jag vill spara dem rakt upp och ner i en tabell med 2 fält, fältnamn (=formulärfältets ID/namn), fältvärde (det som användaren skrivit).
Måste kontrollerna skapas 'igen' i sidan vid återpostning för att jag ska kunna accessa dem?
Alla tips/ledtrådar om hur man 'normalt' löser sånt här uppskattas varmt.
/max
Sv: hantering av postad data från anpassade serverkontroller
så här gör jag på ett ställe:
foreach(Control item in attendees.Controls)
{
Cornerstone.Web.usercontrols.attendee tmpAttendee = (item as Cornerstone.Web.usercontrols.attendee);
if(tmpAttendee!=null)
{
}
}
ateendee är dynamiskt skapad