Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ObjectDataSource SelectCountMethod未执行_C#_Asp.net_Objectdatasource - Fatal编程技术网

C# ObjectDataSource SelectCountMethod未执行

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"

这是关于myIdea项目在工作时间的项目。我正在使用ObjectDataSource填充GridView。由于某种原因,“页面”部分(应该位于网格底部)没有出现。我已经在这里查看了其他类似问题的答案,但还不能找出我的代码出了什么问题

GridView如下所示:

<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的样式表,所有的事情都开始出现了!