faccio una cavolata se in un unico colpo aggiungo una serie di campi <asp: in un placeholder e poi cerco di recuperarne il valore ?
questo il codice che, al variare di una dropdownlist, aggiunge n righe
Codice PHP:
int cont = int.Parse(nInserimenti.SelectedValue.ToString());
string parse = "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">";
for (x = 1; x <= cont; x++)
{
parse = parse + "<tr class=\"testo\"><td><asp:DropDownList runat=\"server\" id=\"ddlTipoAereo" + x + "\"></asp:DropDownList></td>";
parse = parse + "<td><asp:Textbox ID=\"txtDescrizione"+ x +"\" runat=\"server\" />";
parse = parse + "<td><asp:Textbox ID=\"txtKgDa" + x + "\" runat=\"server\" />";
parse = parse + "<td><asp:Textbox ID=\"txtKgA" + x + "\" runat=\"server\" />";
parse = parse + "<td><asp:Textbox ID=\"txtPrezzo" + x + "\" runat=\"server\" />";
parse = parse + "<td><asp:Textbox ID=\"txtMinimo" + x + "\" runat=\"server\" /></tr>";
}
parse = parse + "</table>";
Control c = this.ParseControl(parse);
this.PH1.Controls.Add(c);
e cosi' CREDEVO di recuperarne il valore:
Codice PHP:
protected void buttonOk_Command(object sender, CommandEventArgs e)
{
switch (e.CommandName)
{
case "INS":
for (int i = 1; i <= int.Parse(contatore.Value); i++)
{
DropDownList tipoaereo = new DropDownList();
TextBox txtDesc = new TextBox();
TextBox txtKg1 = new TextBox();
TextBox txtKg2 = new TextBox();
TextBox txtP = new TextBox();
TextBox txtM = new TextBox();
tipoaereo = (DropDownList)PH1.FindControl("ddlTipoAereo" + i.ToString());
txtDesc = (TextBox)PH1.FindControl("txtDescrizione" + i.ToString());
txtKg1 = (TextBox)PH1.FindControl("txtKgDa" + i.ToString());
txtKg2 = (TextBox)PH1.FindControl("txtKgA" + i.ToString());
txtP = (TextBox)PH1.FindControl("txtPrezzo" + i.ToString());
txtM = (TextBox)PH1.FindControl("txtMinimo" + i.ToString());
if (!string.IsNullOrEmpty(txtKg1.Text) & !string.IsNullOrEmpty(txtKg2.Text) & !string.IsNullOrEmpty(txtP.Text) & !string.IsNullOrEmpty(txtM.Text))
{
Spedizionieri.Aereo aereo = new Spedizionieri.Aereo(int.Parse(hfIdTariffaAereo.Value.ToString()),
int.Parse(HfidListino.Value.ToString()), tipoaereo.ToString(), txtDesc.Text,
int.Parse(txtKg1.Text), int.Parse(txtKg2.Text), decimal.Parse(txtP.Text), decimal.Parse(txtM.Text));
Spedizionieri.Aereo.InsertAereo(aereo);
}
}
}
ma invece mi da errore perchè quando effettuo i controlli nell'if tutte quelle variabili hanno valore null