Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.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# 如何在datapager中设置运行时的页码_C#_Asp.net_Datapager - Fatal编程技术网

C# 如何在datapager中设置运行时的页码

C# 如何在datapager中设置运行时的页码,c#,asp.net,datapager,C#,Asp.net,Datapager,我已经在连接到datapager的listview中创建了链接。当用户单击某个链接时,他们会看到左侧的内容,但datapager会从任意页面切换到第1页。您需要添加一个查询字符串字段,指示每个链接的页码。 然后需要将datapager控件的querystring字段属性设置为该querystring字段的名称 例如: <asp:DataPager ID="dpItems" runat="server" PagedControlID="lvItems" PageSize="10" Qu

我已经在连接到datapager的listview中创建了链接。当用户单击某个链接时,他们会看到左侧的内容,但datapager会从任意页面切换到第1页。

您需要添加一个查询字符串字段,指示每个链接的页码。 然后需要将datapager控件的querystring字段属性设置为该querystring字段的名称

例如:

   <asp:DataPager ID="dpItems" runat="server" PagedControlID="lvItems" PageSize="10" QueryStringField="pageNumber">

如果您想自己进行分页计算,还可以在运行时设置StartRowIndex属性。但是,您不能直接设置页面。例如,如果每页显示10条记录,并且希望显示第二页,则应在运行时代码中设置myDataPager.StartRowIndex=20

或者,当您设置datapager的字段并设置querystringfield值时,datapager可以自动处理此数学运算并生成分页控件。您可以让它使用下一个/上一个按钮、数字页面链接,或者在模板中定义自己的分页控件

如果定义自己的分页控件,则您的页面可能如下所示:

然后在lvItems的OnDataBound事件中,用(占位符)lvItems.FindControl(“phPageNumberButtons”)抓住占位符,然后将控件添加到占位符中

另外,请确保定义的PagedControlID等于listview的ID


这里有一个指向MSDN文章的链接,您可以从中获得有关以下字段的更多信息:MSDN.microsoft.com/en us/library/

好的,我可以获取并设置查询字符串,但当我单击列表视图中的链接时,它仍然返回到第1页。我本想用querystring编号设置datapager属性,但找不到任何此类属性。也许这是自动完成的,但不起作用。我已经使用了上面的代码,并将此代码添加到链接“&pageNumber=“+DataPageRBotom.QueryStringField”。我遗漏了什么吗?我只需要知道如何在运行时设置页码。你能解决这个问题吗?