html.actionlink routevalues错误

时间:2012-07-05 17:04:19

标签: asp.net-mvc razor actionlink routevalues

最近我一直试图添加一个链接,允许人们在我的网站上删除自己的评论。我遵循了here提出的问题答案的建议。这就是我现在的代码:

@Html.ActionLink("x","DeleteComment", "Videos", new { commentID = 1234, actionReturnName = "[action]" })

然后我让控制器处理这里的值:

public ActionResult DeleteComment(int commentID, string actionReturnName)
{
    DB.CommentDB.DeleteComment(commentID);

    return RedirectToAction(actionReturnName);
}

这似乎是正确的方法,但我做错了什么? 我一直收到这个错误

  '/'应用程序中的服务器错误。      

参数字典包含非可空类型'System.Int32'的参数'commentID'的空条目,用于方法'System.Web.Mvc.ActionResult DeleteComment(Int32,System.String)'

我可能会错过一些非常愚蠢的东西,但是如果你能帮助我那就太棒了!

1 个答案:

答案 0 :(得分:3)

你使用了错误的重载。现在你将你的routeValues作为htmlAttributes传递。

传递一个额外的null作为htmlAttributes以调用正确的方法。

@Html.ActionLink("x","DeleteComment", "Videos", new { commentID = 1234, actionReturnName = "[action]" }, null)