7

我在 .cshtml 中的操作链接是这样的:

@Html.ActionLink("Reply", "Post_Reply", new { item.ID, item.Post_ID, item.Reply_ID })

我在控制器中的方法是这样的:

[Authorize]    
public ActionResult Post_Reply(int PostId=0, int Id = 0, int ReplyId = 0)   
{   
    post posts = new post();    
    posts.ID = Id;    
    return View(posts);   
}

但只有 item.ID 的值通过了,其他两个值 item.Post_ID 和 item.Reply_ID 没有通过..谁能指导我..谢谢..

4

3 回答 3

7

看起来您使用了错误的重载@Html.ActionLink

尝试:

@Html.ActionLink("Reply", "Post_Reply", new { Id = item.ID, PostId = item.Post_ID, ReplyId = item.Reply_ID }, null)
于 2012-06-09T12:12:14.393 回答
5

问题是,当您将参数值添加到操作链接时,您还必须添加 Html 属性,请使用以下命令:

@Html.ActionLink("Reply", "Post_Reply", new { Id = item.ID, PostId = item.Post_ID, ReplyId = item.Reply_ID }, null)

添加NullHtml 属性的值将允许发送正确的参数

于 2012-06-09T12:10:11.100 回答
1

尝试

@Html.ActionLink("Reply", "Post_Reply", new { Id = item.ID, PostId = item.Post_ID, ReplyId = item.Reply_ID })

您的问题是您传递的匿名对象不包含变量名,因此它不会映射到您的 Action 参数。

于 2012-06-09T11:39:20.630 回答