的ObjectDataSource的Select方法更新按钮
问题描述:
我有与ObjectDataSource控件DataList控件之前调用,问题是,当我调用Update方法,数据列表的selectmethod的更新方法,它在结果犯规显示了更新的数据列表之前执行,我必须F5查看更新的结果,下面是代码:的ObjectDataSource的Select方法更新按钮
AspView
<asp:DataList ID="CustomersDefaultPaging" runat="server" Width="100%"
RepeatColumns="1" EnableViewState="False"
DataSourceID="CustomersDefaultPagingDataSource" DataKeyField="Id">
<ItemTemplate>.....</ItemTemplate>
<asp:ObjectDataSource ID="CustomersDefaultPagingDataSource" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetCustomersAsPagedDataSource"
TypeName="mobilecustomers"
OnSelected="CustomersDefaultPagingDataSource_Selected">
代码隐藏
protected void CustomersDefaultPagingDataSource_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
// Reference the PagedDataSource bound to the DataList
PagedDataSource pagedData = (PagedDataSource)e.ReturnValue;
// Remember the total number of records being paged through across postbacks
TotalRowCount = pagedData.DataSourceCount;
// Configure the paging interface based on the data in the PagedDataSource
FirstPage.Enabled = !pagedData.IsFirstPage;
PrevPage.Enabled = !pagedData.IsFirstPage;
NextPage.Enabled = !pagedData.IsLastPage;
LastPage.Enabled = !pagedData.IsLastPage;
// Display the current page being viewed...
CurrentPageNumber.Text = string.Format("You are viewing page {0} of {1}...", PageIndex + 1, PageCount);
}
protected void btnSave_Click(object sender, EventArgs e)
{
foreach (DataListItem item in CustomersDefaultPaging.Items)
{
customers.UpdateCustomerAddress(.........);
}
}
DataAcess
static public DataTable GetAllCustomers()
{
string sql = "Select * from [Customers] where [Upgrade] = 0";
SqlDataAdapter da = new SqlDataAdapter(sql, ConnectionString);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
public PagedDataSource GetCustomersAsPagedDataSource(string sortExpression, int pageIndex, int pageSize)
{
DataTable dt = new DataTable();
dt = GetAllCustomers();
dt.DefaultView.Sort = sortExpression;
// Limit the results through a PagedDataSource
PagedDataSource pagedData = new PagedDataSource();
pagedData.DataSource = dt.DefaultView;
//pagedData.DataBind();
pagedData.AllowPaging = true;
pagedData.CurrentPageIndex = pageIndex;
pagedData.PageSize = pageSize;
return pagedData;
}
上更新单击DataList控件应该只显示客户,其升级值为0,Curretly当我更新字段为0,它更新SQL数据库,但它在DataList我必须刷新它以犯规节目查看更新。
答
显然,DataList
没有做它自己的重新绑定。我不知道这是否会工作,但关于挂接到DataList控件Updated
事件,迫使电网绑定有什么。可以帮助吗?
从我读过的GridView
控制起到更好了很多与ObjectDataSource
。这是我的话我可能会换出DataList
为GridView
,看看有没有什么帮助。或者至少进行一些快速测试并看看。
都有点含糊诚然