0

我有一些代码可以使用 min_row/max_row 获取我的数据。我想通过我的菜单的页码以及分页链接。

我的主菜单有这个代码:

@Html.ActionLink("MyDocuments", "", "Home/MyDocuments/1")

我的分页链接如下所示:(
它们将根据 ViewBag 中发送的总记录数即时构建,尚未完成该部分):

<ul>
  <li><a href="#">Prev</a></li>
  <li class="active"><a href="/Home/MyDocuments/1">1</a></li>
  <li><a href="/Home/MyDocuments/2">2</a></li>
  <li><a href="/Home/MyDocuments/3">3</a></li>
  <li><a href="/Home/MyDocuments/4">4</a></li>
  <li><a href="#">Next</a></li>
</ul>

这是我的控制器操作:

public ActionResult MyDocuments(int Page)
{
    string min = (Page-1*50).ToString();
    string max = (50 / Page).ToString();
    // mps is a webservice reference 
    Archive docs = mps.GetArchiveArray(LogonTicket, PID, "SortColumn", max, min, "ASC");
    ViewBag.docs = docs;
    return View();
}

现在,当我单击主菜单项时,出现此错误:

The parameters dictionary contains a null entry for parameter 'Page' 
of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult 
MyDocuments(Int32)' in 'MVC3MySite.Controllers.HomeController'.

这是我在 Global.asax.cs 中的 MapRoutes:

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

如何规避此错误?

4

1 回答 1

0

尝试改变

@Html.ActionLink("MyDocuments", "", "Home/MyDocuments/1")

@Html.ActionLink("MyDocuments", "MyDocuments","Home",null, new {Page=1})
于 2012-08-23T21:49:56.587 回答