0

我通过此代码有一个 webgrid

@grid.GetHtml(
                        tableStyle: "webgrid",
                        columns: grid.Columns(
                        grid.Column(header: "Link", style: "labelcolumn", format: (item) => Html.ActionLink("Edit Item", "EditQueue", new { id = item.QueueID})),
                        grid.Column("Description", "Description"),
                        grid.Column("QueueDate", "QueueDate"),
                        grid.Column("Note", "Note"),
                        grid.Column("Status", "Status"),
                        grid.Column("LastUpdated", "LastUpdated")
                            )
                    )

我创建了一个 ID 为 1 的测试用例。然后单击第一列中的链接。我收到 404 错误,因为我没有在/Home/EditQueue/1上为此创建页面

但是我显然不想为每个号码创建一个页面。创建一个只显示我传递给它的 ID 的页面的最佳做法是什么?

4

2 回答 2

1

id在 HomeController 中创建一个接受 as 参数的操作方法

public ActionResult EditQueue(int id)
{
    //Get the details of queue using id and return a view.
    return View();
}

您可能希望显示要编辑的数据。所以使用 id 获取数据并返回。

public ActionResult EditQueue(int id)
{
    //Get the details of queue using id and return a view.
    Queue queue=repositary.GetQueueFromID(id);
    return View(queue);
}

假设repositary.GetQueueFromID方法将返回一个Queue类对象,并且您的 View ( Edit.cshtml) 是强类型的。

于 2012-12-13T17:17:08.743 回答
0

只需使用您在控制器中传递的参数的方法..

于 2012-12-13T17:13:58.173 回答