Циклы страницы - правильный способ ввода данных в базу данных
Вопрос
У меня есть страница, которая имеет несколько текстовых ящиков и выпадающий список. Когда войти в систему пользователем, открывается эта страница, поля заполнены данными, которые он имеет ввод раньше, он может изменить данные и обновлять его, нажав кнопку обновления. Существует также этот DropDownlist, который имеет динамически населенные данные для него на выбор.
Какой лучший способ сделать эту страницу работать. Где на странице циклы я заполняю формы и где я вводим данные к DataTable.
На данный момент я заполняю данные о PRERENDER, кроме раскрывающегося списка на преинин. У меня есть обработчик событий кнопок, чтобы сделать обновление на DataTable. Проблема в том, что AutoPostback запутает данные в DropDownlist, потому что его динамически заселен, как бы я пошел, исправляя это?
Решение
Вот что я следую в большинстве случаев
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
}