【发布时间】:2013-07-24 15:15:26
【问题描述】:
我正在尝试实现与 poster 相同的目标,并且我正在遵循 answers 中的一个说我需要做的事情。
这是我的方法
public void DisplayItemRangeForCurrentPage()
{
var totalRecords = ((DataView)gvMagicalSearchResults.DataSource).Count;
var endRecord = gvMagicalSearchResults.PageSize * (gvMagicalSearchResults.PageIndex + 1);
var startsRecods = endRecord - gvMagicalSearchResults.PageSize;
if (endRecord > totalRecords)
endRecord = totalRecords;
if (startsRecods == 0) startsRecods = 1;
if (endRecord == 0) endRecord = totalRecords;
var str = new StringBuilder();
str.Append((string)HttpContext.GetGlobalResourceObject("magicalResx", "GrivSearchCountMessage_Shows"));
str.Append(" " + startsRecods + " - " + endRecord + " ");
str.Append((string)HttpContext.GetGlobalResourceObject("magicalResx", "GrivSearchCountMessage_OfTotal"));
str.Append(" " + totalRecords + " ");
ltrResultsCount.Text = str.ToString();
}
无论我在哪里调用此方法,它都会在 var totalRecords = ((DataView)gvMagicalSearchResults.DataSource).Count; 行上引发“对象未设置为对象的实例”错误。
我尝试在几个 GridView/ObjectDataSource 事件中调用它。我试着用PreRender、OnLoad、Render 调用它——唉,它们都不起作用……
那么谁能告诉我gridview 在事件周期中的哪个位置获取它的数据源?
【问题讨论】:
标签: c# asp.net gridview lifecycle objectdatasource