Cycles - Page bonne façon de données d'entrée à la base de données
Question
J'ai une page qui a quelques zones de texte et un dropdownlist. Lorsqu'un utilisateur connecté ouvre cette page les cases sont remplies avec les données qu'il a entrée avant, il peut modifier les données et mettre à jour en appuyant sur un bouton de mise à jour. Il y a aussi que dropdownlist qui a une donnée dynamique de population pour lui de choisir.
Quelle est la meilleure façon de faire ce travail de page. Lorsque, dans les cycles page dois-je remplir les formulaires et où dois-je entrer les données à datatable.
En ce moment, je peuplant les données sur PreRender mais le dropdownlist sur le preinit. J'ai un gestionnaire d'événements de bouton pour faire la mise à jour sur la table de données. Le problème est que les dégâts de autopostback les données du dropdownlist parce que sa dynamique peuplé, comment pourrais-je aller en fixant cela?
La solution
Voici ce que je suis dans la plupart de mes affaires
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitDropdDownListes();
LoadDataFromDataBase();
}
}
void InitDropdDownListes()
{
// fill drop down boxes
}
void LoadDataFromDataBase()
{
// load from database
}
protected void OnDropdownListChanges(object sender, EventArgs e)
{
// reload the new data from database
LoadDataFromDataBase();
}
protected void btnSave_Click(object sender, EventArgs e)
{
// Save to database
}