我在mvc视图中传递id吗?

时间:2013-09-08 15:16:24

标签: asp.net-mvc asp.net-mvc-controller

您好我有一个名为Apps的视图,当用户点击它时,应该转到信息页面并根据ID显示Apps表中的记录。为此我在Info controller上写道:

public ActionResult Info(short id)
    {

        var inf = db.Apps.Where(x => x.ID == id).FirstOrDefault();
        return View(inf);

现在我需要在Apps页面中传递此ID。我知道如何使用html.actionlink。例如:

@Html.ActionLink("Info", "Info", new { id = item.ID })

但在我的情况下,我需要为应用程序页面中的此代码传递ID:

<div class="listPageCol"  onclick="location.href='Info'">

在onlcick函数之后,我试图通过使用new来传递id但它不起作用。正如你所看到的,上面的代码重定向到Info页面但没有获取ID。那么有人能告诉我如何将id传递给上面的代码吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Url.Action帮助程序生成正确的位置:

<div class="listPageCol"  onclick="window.location.href='@Url.Action("Info", new { id = item.Id })';">

但恕我直言使用@ Html.ActionLink助手生成一个指向你的控制器动作而不依赖于任何javascript的锚点是语义上更正确的方法:

@Html.ActionLink("Info", "Info", new { id = item.ID })