单击HTML.ActionLink时,MVCContrib网格值始终为null

时间:2012-03-27 18:59:01

标签: asp.net-mvc-3 mvccontrib-grid

我正在尝试在我们的某个应用中实现简单的listview / detailview功能。我正在使用MVCContrib Grid(顺便说一句,真棒!)来显示项目列表。网格上的每一行旁边都有一个编辑链接,允许用户编辑该项目。当用户单击编辑链接时,我执行Get,返回用于编辑项目的详细信息表单。由于某种原因,我无法将点击的customerId发送到控制器。每次单击编辑链接时,控制器都会变为空。

我的网格配置如下:

  Html.Grid(Model.CheckAccounts)
    .Columns(column.For(c => {Html.ActionLink(
    "Edit", 
    "CustomerDetails", 
    "CustomerManagementController", 
    new {Id=customer.Id}));
column.For(c => c.Name);
column.For(a => c.AccountNumber);
}).Render();

这是我的控制器动作:

  [HttpGet]
        public ActionResult CustomerDetails(long? Id )
        {
            //fetch the customer from repo...
            //return it to the client
            return View(model);
        }

我很困惑,因为我见过的所有样本和博客,都是以我正在做的方式从网格访问数据。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我讨厌回答我自己的问题,但我可以通过将操作链接更改为:

来解决此问题
{Html.ActionLink(
        "Edit", 
        "CustomerDetails", 
        "CustomerManagement", 
        new {Id=customer.Id}));

我意识到在查看URL末尾的“?Length = 24”queryString参数后,生成了错误的操作链接。

网格现在按预期工作。