Bonjour à tous,
Si une ame charitable voulait bien me donner un petit coup de main ...
j'ai un formulaire d'inscription avec une dropdownlist créee dynamiquement par callback lorsque la personne a renseigné un code postal
Voici mon code behind (tout fonctionne bien ici):
private string GetVilleByZip(string ZipCode)
{
SqlConnection myConnection = new SqlConnection(ConnectionString);
SqlCommand myCommand = new SqlCommand("SELECT VilleId, Ville FROM Villes WHERE Zip = @zipCode", myConnection);
myCommand.Parameters.AddWithValue("@ZipCode", ZipCode);
SqlDataAdapter ad = new SqlDataAdapter(myCommand);
DataSet ds = new DataSet();
ad.Fill(ds);
DropDownList DDLVille = new DropDownList();
DDLVille.ID = "DDLVille";
DDLVille.DataSource = ds;
DDLVille.Attributes.Add("onChange", "SelectedVilleID(this.value)");
DDLVille.DataTextField = "Ville";
DDLVille.DataValueField = "VilleId";
DDLVille.DataBind();
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
DDLVille.RenderControl(htw);
return sw.ToString();
}
et j'ai également un bouton de validation du formulaire pour valider l'inscription du style :
protected void BTRegister_Click(object sender, EventArgs e)
{
try
{
MembershipUser user = Membership.CreateUser
(TBPseudo.Text, TBPwd.Text, TBEmail.Text);
ProfileCommon pc = Profile.GetProfile(user.UserName);
pc.Prenom = TBPrenom.Text;
pc.DOB = DateTime.Parse(TBDOB.Text);
pc.Id_ville = Int32.Parse(DDLVille.SelectedValue);
pc.CP = TBCP.Text;
pc.Save();
lblMsg.Text = "Inscription Terminée !";
}
catch (Exception ex)
{
lblMsg.Text = ex.Message;
}
}
Mon probleme : la ligne pc.Id_ville = Int32.Parse(DDLVille.SelectedValue);
Car la dropdownlist est créee dynamiquement une fois le zip renseigné et je n'arrive pas a compiler ma page car il me retourne une erreur disant qu'il ne trouve pas DDLVille (logique puisque je ne veux pas l'initialiser dans un premier temps!)
Que me conseillez vous pour :
1/ pouvoir initialiser la dropdownlist des villes comme je le fais actuellement
2/ pouvoir enregistrer les infos du formulaire lorsque la personne clic sur le boutton valider
Merci beaucoup
ANGEL