2013-04-29 86 views
0

我的问题是,当我第一次在列表视图中显示数据,然后它显示正确,但是当我第二次显示数据时,然后listview不正确地更新数据。我已经做了一个listview的数据绑定功能,我已经在pageLoad和其他一些方法中调用。 任何人都可以请给我一个解决方案吗?Asp.net listview不能正确显示数据

我也上传了我的源代码以获取更多详细信息。

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(); 
    } 
} 

在此先感谢。

+1

请提供有关您的问题的更多信息:_“当我第二次显示数据,然后listview不会正确更新数据”_。什么意思_第二次_什么意思_不正确_? – 2013-04-29 07:36:29

+0

夫妇的事情,你只是databinding没有回发事件(虽然我想这是有意的),其次,如果'objQuery.RowCount> 0'失败,你不会做一个数据绑定,所以''无行受影响的“永远不会被设置。 – DGibbs 2013-04-29 07:41:30

回答

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

您在绑定数据时不是回发。这意味着它在回发到同一页面时不会绑定数据。如果你想绑定每页加载,请拨打Page_Load的函数LoadDataIntoListView()