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の値のみが渡され、他の2つの値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 })

問題は、渡した匿名オブジェクトに変数名が含まれていなかったため、アクション パラメーターにマップされないことでした。

于 2012-06-09T11:39:20.630 に答える