我如何将参数传递给程序,通过按钮点击激活?

时间:2011-10-04 18:20:39

标签: asp.net-mvc-3 razor

我有一个博客。在它的主页上有一个主题列表。我想创建一个按钮,允许用户删除主题(我知道列表中每个主题的ID,并且该ID是数据库中的关键字段)。

查看/主页/索引:

   @{
    if (ViewBag.userIsModerator)
        using (Html.BeginForm("DeleteTopic", "Home", new { topicId = item.ID }))
        {
            <input type = "submit" value = "Delete topic" />
        }
    }

单击“提交”后,将启动以下过程。

控制器/ HomeController中:

[HttpPost]
public ActionResult DeleteTopic(int topicId)
{
    db.DeleteTopic(topicId);
    return RedirectToAction("Index", "Home");
}

我的问题是将主题的ID传递给控制器​​,因为 new {topicId = item.ID} 是错误的来源。有没有人知道,如果没有 new {topicId = item.ID} ,如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在使用中你可以使用隐藏字段。

@using (Html.BeginForm())
{
   <input type="hidden" name="topicId" value="5" />
   ...
}