0

最近、私は人々が私のウェブサイト上の自分のコメントを削除できるようにするリンクを追加しようとしています。私はここで尋ねられた質問の答えのアドバイスに従いました。これは私のコードが今どのように見えるかです:

@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.Web.Mvc.ActionResult DeleteComment(Int32、System.String)'のnull許容型ではないタイプ'System.Int32'のパラメータ'commentID'のnullエントリが含まれています。

私は本当に愚かな何かを見逃しているかもしれませんが、あなたが私を助けることができればそれは素晴らしいことです!

4

1 に答える 1

3

間違ったオーバーロードを使用しています。現在、routeValues を htmlAttributes として渡しています。

htmlAttributes として追加の null を渡して、正しいメソッドを呼び出します。

@Html.ActionLink("x","DeleteComment", "Videos", new { commentID = 1234, actionReturnName = "[action]" }, null)
于 2012-07-05T17:06:55.477 に答える