我有一个正在使用的网格,其中我想将一列链接到另一个屏幕。我想这样做,以便当用户点击网格中的链接时,它们将被导航到详细信息屏幕。
目前我所拥有的是:
@grid.GetHtml(tableStyle:"listing-border",headerStyle:"gridhead",footerStyle:"paging",rowStyle:"td-dark",alternatingRowStyle:"td-light",
columns:
grid.Columns(
grid.Column("BatchNumber", "Batch Number", format: (item) => Html.ActionLink(((string)item.BatchNumber), "BatchDetails", "Batching", new { id = (string)item.BatchNumber })),
grid.Column("BatchGroupItemDate", "Date"),
grid.Column("BatchComment", "Comment"),
grid.Column("NumberOfDocuments", "Number of Documents"),
grid.Column("TotalTransfered", "Total Transfered"),
grid.Column("NotTransfered", "Not Transfered")
),mode:WebGridPagerModes.All)
批处理编号在我的视图中是可单击的,并且实际上会触发关联的控制器方法,但是传入的id值为null。这是因为它无法记住网格客户端那个位置的内容吗?
答案 0 :(得分:0)
我上面有什么
grid.Column("BatchNumber", "Batch Number", format: (item) => Html.ActionLink(((string)item.BatchNumber), "BatchDetails", "Batching", new { id = (string)item.BatchNumber }))
不正确,特定的重载是将id作为html参数,这解释了我得到的奇怪字符串。
这是正确的:
grid.Column("BatchNumber", "Batch Number", format: (item) => Html.ActionLink(((string)item.BatchNumber), "BatchDetails", "Batching", new { id = (string)item.BatchNumber }, null))
这里的“null”将html参数重载为null并让id正确传递。