Ett problem i mitt kodande är att jag inte vet hur jag kan skapa aspkontroller Precis som du misstänker är det inte så man gör längre. Kan du begära något enkelt exempel så får vi försöka hjälpa dig hitta rätt i ditt kodande. Javisst kan jag det. Mitt exempel går ut på att skriva ut alla matcher till en stryktips omgång. Jag har en loop som loopar upp till 13 som sedan skriver ut en massa html kod till min label. Till varje match så kan man skriva en kommentar, och nu är den en en gammal vanlig textarea. Kan man göra om dem till asp textboxes vore det kanon. Det kanske är lättare att koda nu när man vet exakt hur många textboxes jag vill ha, men kan man lösa det helt dynamiskt vore det toppen för framtiden. Ett tips, ta en titt på DataGird och DataList-kontrollerna som följer med i ASP.Net. Sedan skulle jag rekommendera att du använder Stringbuilder för att slåt ihop strängar (om du så måste). Du kan även se till att din tabel blir en kontroll genom att köra Page.ParseControl. Men som sagt ta en titt på DataGriden och DataList.Skapa aspkontroller dynamiskt
dynamiskt, såsom labels, textboxes osv. Tekniken jag kör nu känns inte som den
mest optimala, jag skapar en label som jag lägger en massa html i, med gammla
form tekniken och sedan postar jag datan precis som man gör med vanlig asp. Det
måste gå att skapa allt dynamiskt, eller?Sv: Skapa aspkontroller dynamiskt
Sv: Skapa aspkontroller dynamiskt
<code>
for(int x = 1; x < 14; x++)
{
string kommentar = "Inga kommmentarer ännu";
Random myRandom = new Random();
myData = GetData("Select * from stryk_spel where omg = '"+ myRow["id"] +"' AND kom"+ x +" = 'ok'", "kommentar"+ x);
if (myData.Tables["kommentar"+ x].Rows.Count > 0)
{
int intRandom = myRandom.Next(myData.Tables["kommentar"+ x].Rows.Count - 1);
int z = 0;
foreach (DataRow myRow2 in myData.Tables["kommentar"+ x].Rows)
{
if (z == intRandom)
{
kommentar = myRow2["kom"+ x].ToString();
}
z++;
}
}
lblStryktipset.Text += "<TABLE BORDER=0 WIDTH=625 CELLSPACING=0 CELPADDING=2>";
lblStryktipset.Text += "<TR>";
lblStryktipset.Text += "<TD Class=tabellrubrik WIDTH=10>"+ x +"</td>";
lblStryktipset.Text += "<TD Class=tabellrubrik WIDTH=300>"+ myRow["Hemmalag"+ x] +" - "+ myRow["Bortalag"+ x] +"</td>";
lblStryktipset.Text += "<TD Class=tabellrubrik WIDTH=210> </td>";
lblStryktipset.Text += "<TD Class=tabellrubrik align=center><div ID=M"+ x +"1><img SRC=bilder/strTom.gif onClick=\"javascript:byt('M"+ x +"1','1','ifylld',"+ y +")\" WIDTH=10 HEIGHT=12><input TYPE=hidden NAME=M"+x +"1_f VALUE=FALSE></div></td>";
y++;
lblStryktipset.Text += "<TD Class=tabellrubrik align=center><div ID=M"+ x +"X><img SRC=bilder/strTom.gif onClick=\"javascript:byt('M"+ x +"X','X','ifylld',"+ y +")\" WIDTH=10 HEIGHT=12><input TYPE=hidden NAME=M"+x +"X_f VALUE=FALSE></div></td>";
y++;
lblStryktipset.Text += "<TD Class=tabellrubrik align=center><div ID=M"+ x +"2><img SRC=bilder/strTom.gif onClick=\"javascript:byt('M"+ x +"2','2','ifylld',"+ y +")\" WIDTH=10 HEIGHT=12><input TYPE=hidden NAME=M"+x +"2_f VALUE=FALSE></div></td>";
y++;
lblStryktipset.Text += "</TR>";
lblStryktipset.Text += "<TR>";
lblStryktipset.Text += "<TD Class=tabelltext> </td>";
lblStryktipset.Text += "<TD Class=tabelltext valign=top>"+ kommentar +"</td>";
lblStryktipset.Text += "<TD Class=tabelltext Colspan=4><textarea name=kom"+ x +" cols=40 rows=3></textarea></td>";
lblStryktipset.Text += "</TR>";
lblStryktipset.Text += "</Table><P>";
}
</code>Sv: Skapa aspkontroller dynamiskt
/Fredrik Normén NSQUARED2