1

いくつかのテキストボックスとドロップダウンリストがあるページがあります。ログインしたユーザーがこのページを開くと、以前に入力したデータがボックスに表示されます。更新ボタンを押すと、データを変更して更新できます。彼が選択できる動的に入力されたデータを含むドロップダウンリストもあります。

このページを機能させるための最良の方法は何ですか。ページサイクルのどこでフォームにデータを入力し、どこでデータをデータテーブルに入力しますか。

現時点では、PreRenderにデータを入力していますが、preinitのドロップダウンリストを使用しています。データテーブルを更新するためのボタンイベントハンドラーがあります。問題は、自動ポストバックが動的に入力されているためにドロップダウンリストのデータを台無しにすることです。これを修正するにはどうすればよいですか?

4

1 に答える 1

3

これが私のほとんどの場合に従うことです

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

}
于 2010-08-23T16:56:52.650 に答える