16 messaggi dal 27 giugno 2003
Salve,
sto cercando di far disegnare in una pagina prova.aspx tanti radio button quanti sono i record che ottengo da una query che vado a fare in una pagina prova.asxp.cs ma non ci riesco.

Vi mostro il codice forse è meglio.

Nella pagina prova.aspx.cs ho scritto:
"......
string strSQL3 ="select id_TipologiaEvento as id,TipologiaEvento as tipo_evento from TipologieEventi";

SqlCommand cmd3 = new SqlCommand(strSQL3, conn);

SqlDataReader rdr3 = cmd3.ExecuteReader();
while(rdr3.Read())
{
Response.Write("tip ev: "+rdr3["tipo_evento"]+"; di tipo ev: "+rdr3["id"]);

System.Web.UI.WebControls.RadioButton Radio4 = new System.Web.UI.WebControls.RadioButton();
Radio4.Text="ccc";
Radio4.Visible=true;
Radio4.GroupName="tipologie";

Controls.Add(Radio4);

}
rdr3.Close();
......."

Nella pagina prova.aspx ho scriito:
"......
<form id="nuovoEvento" name="nuovoEvento" method="post" encType="multipart/form-data" runat="server">
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
</tr><td></td></tr>
</table>
</form>
......."

solo che il server mi dice:
"System.Web.HttpException: Il controllo '_ctl0' di tipo 'RadioButton' deve essere inserito in un tag Form con runat=server"

allora io ho provato a cambiare la penultima riga di codice in prova.aspx.cs con :
"nuovoevento.Controls.Add(Radio4);" dove nuovoevento è l'id del form runat=server presente nella pagina prova.aspx ma in questo modo mi dà un errore di compilazione, mi dice che nuovo evento è sconosciuo.

come posso fare

Grazie
Sì è come hai pensato tu. Devi aggiungelo alla collezione Controls della form o sottocontenitore.

Assicurati che nuovoevento sia dichiarato nel codebehind

protected Htmlform nuovoevento;

Ciao

Il mio blog
Homepage
16 messaggi dal 27 giugno 2003
In effetti
nel codebehind "protected Htmlform nuovoEvento;"
ho dovuto inserirlo a mano mentre solitamente dopo aver aggiunto l'attributo runat="server" ai tag html
la prima cosa che appariva nel codebehind era la dichiarazione dei vari tag come "protected Htmlform [idTag];".

E non ho capito perchè!

E' come se il compilatore non lega il

protected Htmlform nuovoEvento;
.............
nuovoEvento.Controls.Add(Radio4);
(presente nel codebehind)

con

<form id="nuovoEvento" name="nuovoEvento" method="post" encType="multipart/form-data" runat="server">
(presente nella pagina prova.aspx)





Non è una funzione del compilatore ma di VS.Net. A volte per dargli una svegliata devi passare in modalità desing così lui mette tutte le dichiarazioni.

Ciao

Il mio blog
Homepage
16 messaggi dal 27 giugno 2003
già provato 1000 volte!!! :-(

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.