我正在尝试在我们的某个应用中实现简单的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);
}
我很困惑,因为我见过的所有样本和博客,都是以我正在做的方式从网格访问数据。有人可以帮忙吗?
答案 0 :(得分:0)
我讨厌回答我自己的问题,但我可以通过将操作链接更改为:
来解决此问题{Html.ActionLink(
"Edit",
"CustomerDetails",
"CustomerManagement",
new {Id=customer.Id}));
我意识到在查看URL末尾的“?Length = 24”queryString参数后,生成了错误的操作链接。
网格现在按预期工作。