C# ObjectDataSource SelectCountMethod未执行
这是关于myIdea项目在工作时间的项目。我正在使用ObjectDataSource填充GridView。由于某种原因,“页面”部分(应该位于网格底部)没有出现。我已经在这里查看了其他类似问题的答案,但还不能找出我的代码出了什么问题 GridView如下所示:C# ObjectDataSource SelectCountMethod未执行,c#,asp.net,objectdatasource,C#,Asp.net,Objectdatasource,这是关于myIdea项目在工作时间的项目。我正在使用ObjectDataSource填充GridView。由于某种原因,“页面”部分(应该位于网格底部)没有出现。我已经在这里查看了其他类似问题的答案,但还不能找出我的代码出了什么问题 GridView如下所示: <asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="10"
<asp:GridView ID="GridView1"
runat="server"
AllowPaging="True"
PageSize="10"
AutoGenerateColumns="False"
DataKeyNames="rowid"
DataSourceID="PopulateGridView">
........
</asp:GridView>
<asp:ObjectDataSource
ID="PopulateGridView"
runat="server"
TypeName="SurveyItemInfo"
SelectMethod="GetPagedData"
EnablePaging="True"
SelectCountMethod="GetRowCount"
StartRowIndexParameterName="startRow"
MaximumRowsParameterName="pageSize"
SortParameterName="sortColumns"
OnObjectCreated="SurveyItemInfo_ObjectCreated">
</asp:ObjectDataSource>
我使用此方法中的存储过程将分页数据获取到网格。注意,我已经注释掉了存储过程获取页面大小(行数)的第三个参数的行。我在这里使用一个硬编码的值来测试目的
通过调试时,我发现GetPagedData方法的参数startRow和pageSize的值为零。我也不确定,但是ObjectdataSource的SelectCountMethod(GetRowCount)的方法不应该执行一次吗?事实并非如此
此方法具有以下代码:
public int GetRowCount()
{
using (SqlConnection conn = new SqlConnection(_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("SELECT COUNT(1) FROM dbo.data_SurveyItem where reportid=" + reportid.ToString(), conn))
{
return (int)cmd.ExecuteScalar();
}
}
}
因此,问题是浏览不同页面的数字页面链接不会出现在GridView的底部。对于GridView和ObjectDataSource,都启用了分页和排序(尽管我没有使用排序)。我不确定我还遗漏了什么。
感谢您的帮助。为什么未配置objectdatasource select参数?很抱歉,无法提前回复您。我会检查一下,然后再给你回复。我实际上是在使用这个示例代码。这里没有设置select参数。@ahmjt:看看这个,谢谢@dhinesh的链接。出于某种原因,不知道为什么,一旦我删除了grid的样式表,所有的事情都开始出现了!