Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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#asp.net第二页未显示_C#_Asp.net_Paging - Fatal编程技术网

c#asp.net第二页未显示

c#asp.net第二页未显示,c#,asp.net,paging,C#,Asp.net,Paging,问题是我使用列表来填充html页面,但我想实现分页。现在第一个页面呈现没有问题,但只要我按下第二个页面按钮或任何其他按钮,我就会得到一个空白页面,就好像什么都没有发生一样 (我会给我的控制器的一部分,因为剩下的不是真的需要) 控制器: //input is a textfield from the webview which hold the url I want to use public ActionResult RequestLinks(FormCollection input, int?

问题是我使用列表来填充html页面,但我想实现分页。现在第一个页面呈现没有问题,但只要我按下第二个页面按钮或任何其他按钮,我就会得到一个空白页面,就好像什么都没有发生一样

(我会给我的控制器的一部分,因为剩下的不是真的需要)

控制器:

//input is a textfield from the webview which hold the url I want to use
public ActionResult RequestLinks(FormCollection input, int? page = null) {
List<string> links;

//FindLinks will give back a list of links retrieved from an url
links = FindLinks(input["url"].ToString(), download);
int pageSize = 25;
int pageNumber = page ?? 1;
ViewBag.links =  links.ToPagedList(pageNumber, pageSize);

return View(links.ToPagedList(pageNumber, pageSize));
}
如果需要解释或帮助,请随时询问更多信息

编辑:

也许这与路线等有关

答案#1:

我认为当您使用
Url.Action(..)
时,需要为您传递的每个路由值参数提供名称

例如:

@Html.PagedListPager((IPagedList)ViewBag.links, pageNumber => Url.Action("RequestLinks", new { page = pageNumber }))
这里我使用
pageNumber
作为谓词中变量的名称,并显式地将
page
命名为我正在设置的路由参数的名称,假设所需的操作是:

public ActionResult RequestLinks( int? page = null ) {
    // ...
}

回答#2:

您的操作要求始终传递URL以下载链接,而在您当前的示例中则不是。当您跟随链接时,
FormCollection输入将不存在,它仅在初始
POST
之后存在

您应该能够将操作更改为:

public ActionResult RequestLinks(string url, int? page = null) {

    // Store it.
    ViewBag.url = url;

    // Everything else
    // ...

}
在你看来:

@Html.PagedListPager((IPagedList)ViewBag.links, pageNumber => Url.Action("RequestLinks", new { url = ViewBag.url, page = pageNumber }))
哪些(做出一些假设)应该生成如下链接:

/{controller}/RequestLinks?url=http://google.com&page=3

ToPagedList函数将是相关的。@SamAxe它是PagedList库的一部分。它将我的普通列表转换为IEnumerable。遗憾的是,这对我不起作用,结果是一样的。看起来您只是在两个值之间添加了一个与另一个值完全相同的值。@Tribeldagon您可以将控制器操作方法签名添加到您的问题中吗?@Tribeldagon我已经用“答案2”更新了我的答案,非常感谢您。用你的第二个anwser解决了我的问题!我知道这个问题,但找不到解决办法。
/{controller}/RequestLinks?url=http://google.com&page=3