ASP.NET Repeater绑定不成功的问题
不成功方式如下,利用DataView筛选DataTable,如下写法发现Repeater绑定不上,
if (ViewState["khjd"] != null) { string khjd = ViewState["khjd"].ToString(); dv.RowFilter = "Customer_Source = '" + khjd + "'"; DataTable dts = dv.ToTable(); //var linqs = linq.Where(i => FindKHJD(i.Customer_Source) == khjd); this.AspNetPager1.RecordCount = dts.Rows.Count; this.Repeater2.DataSource = GetPagedTable(dts, this.AspNetPager1.CurrentPageIndex, Convert.ToInt32(this.ddlPageSize.SelectedValue)); } else { this.AspNetPager1.RecordCount = dt.Rows.Count; this.Repeater2.DataSource = GetPagedTable(dt, this.AspNetPager1.CurrentPageIndex, Convert.ToInt32(this.ddlPageSize.SelectedValue)); } this.AspNetPager1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue); this.Repeater2.DataBind();
把代码更改成
this.AspNetPager1.RecordCount = dt.Rows.Count;
this.Repeater2.DataSource = GetPagedTable(dt, this.AspNetPager1.CurrentPageIndex, Convert.ToInt32(this.ddlPageSize.SelectedValue));
if (ViewState["khjd"] != null)
{
string khjd = ViewState["khjd"].ToString();
dv.RowFilter = "Customer_Source = '" + khjd + "'";
DataTable dts = dv.ToTable();
//var linqs = linq.Where(i => FindKHJD(i.Customer_Source) == khjd);
this.AspNetPager1.RecordCount = dts.Rows.Count;
this.Repeater2.DataSource = GetPagedTable(dts, this.AspNetPager1.CurrentPageIndex, Convert.ToInt32(this.ddlPageSize.SelectedValue));
}
this.AspNetPager1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
this.Repeater2.DataBind();
这样就能绑定上了,如果有大神可以解释一下感激不尽阿。

浙公网安备 33010602011771号