显示我有一个ObjectDataSource和构成如下一个gridview数据(使用VS2008瓦特/ .NET3.5):的ObjectDataSource寻呼 - >没有在GridView中
<asp:ObjectDataSource ID="odsMainData" runat="server" EnablePaging="True" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetMainData" TypeName="ErrorViewer.Model.ErrorViewModel"
SelectCountMethod="CountMainData">
<SelectParameters>
<asp:Parameter Name="maximumRows" Type="Int32" />
<asp:Parameter Name="startRowIndex" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="grdMainData" runat="server" AllowPaging="True" DataSourceID="odsMainData" PageSize="15" AllowSorting="True">
</asp:GridView>
中有没有事件处理器或其它代码后面为GridView或数据源
所以有在底层类 “ErrorViewModel” 方法的代码: 公共数据表GetMainData() { 变种DT = provider.MainData(); myMainData = dt; return dt; }
public DataTable GetMainData(int maximumRows, int startRowIndex)
{
var dt = provider.MainData();
myMainData = dt;
return dt;
}
public long CountMainData()
{
var count = provider.GetMainDataCount();
return count;
}
public long CountMainData(int maximumRows, int startRowIndex)
{
var count = CountMainData();
return count;
}
我想要的是:自定义服务器端分页。 什么问题: 当我设置EnablePaging =真正的数据源,就没有在GridView显示的数据。如果EnablePaging设置为false,则显示数据。如您所见,检索数据的两种方法将完全相同。 调试显示,有行使用EnablePaging = TRUE时返回。 另一个奇怪的事情(使用EnablePaging = TRUE): 在GetMainData maximumRows设置为15和startRowIndex 0 在CountMainData maximumRows设置为0,startRowIndex 0
我实现了这种类型的自定义分页的另一项目,并做了相同的配置 - 但这次它驻留在这种奇怪的行为。我的实施出了什么问题?我只是忘了一个小设置?有什么建议么?
纪念这个答案的解决方案(点击复选标记)来标记你的问题作为解决 – eckes
这是令人难以置信的是'Long'不是记录计数的有效的返回类型。感谢您指出这一点......并请将其标记为答案。 – cjbarth
@ user855601只需花8小时撕裂我的网格和ObjectDataSource拆开来找到解决这个问题。感谢你的回答! –