0

私の問題は、最初にリストビューにデータを表示すると正しく表示されますが、2回目にデータを表示するとリストビューがデータを正しく更新しないことです。pageLoad およびその他のメソッドで呼び出したリストビューを使用してデータバインディング用の関数を作成しました。誰でもこれについて解決策を教えてもらえますか?

詳細については、ソース コードもアップロードしました。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        LoadDataIntoListView();
    }
}

protected void LoadDataIntoListView()
{
    Users objQuery = new Users();
    string adminID = "Here is my query to get the data from MS-SQL";
    objQuery.ExecuteSql(str);
    if (objQuery.RowCount > 0)
    {
        Title = "Row affected";
        lstAppointments.Items.Clear();
        lstAppointments.DataSource = objQuery.DefaultView;
        lstAppointments.DataBind();
    }
    else
    {
        Title = "None Row affected";
    }
}

protected void btnDelete_Click(object sender, EventArgs e)
{
    string caseID = (string)Session["caseID"];
    //string updateQuery = "update Cases set sCaseStatus='cancel' where iCaseID= '" + caseID + "'";
    Cases objCases = new Cases();
    objCases.LoadByPrimaryKey(Convert.ToInt32(caseID));
    if (String.Equals(objCases.SCaseStatus, "cancel"))
    {
        Page.Title = "No Update";
        ModalPopupExtender1.Hide();
    }
    else
    {
        objCases.SCaseStatus = "cancel";
        objCases.Save();
        Page.Title = "No Update";

        ModalPopupExtender1.Hide();
        lstAppointments.Items.Clear();
        LoadDataIntoListView();
    }
}

前もって感謝します。

4

1 に答える 1

1
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        LoadDataIntoListView();
    }
}

ポストバックではなくデータをバインドしています。つまり、同じページにポストバックするときにデータをバインドしません。ページの読み込みごとにバインドする場合は、関数LoadDataIntoListView()を呼び出しますPage_Load

于 2013-04-29T09:13:30.227 に答える