Ошибка html.actionlink routevalues

Недавно я пытался добавить ссылку, которая позволяет людям удалять свои комментарии на моем сайте. Я последовал совету ответа на вопрос, заданный здесь. Вот как теперь выглядит мой код:

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

Тогда у меня есть контроллер обрабатывать значения здесь:

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

    return RedirectToAction(actionReturnName);
}

Кажется, это правильный способ сделать это, но что я делаю не так? Я продолжаю получать эту ошибку

Ошибка сервера в приложении '/'

Словарь параметров содержит пустую запись для параметра 'commentID' ненулевого типа 'System.Int32' для метода 'System.Web.Mvc.ActionResult DeleteComment(Int32, System.String)'

Я мог бы упустить что-то действительно глупое, но если бы вы могли мне помочь, это было бы здорово!

1 ответ

Решение

Вы используете неправильную перегрузку. Прямо сейчас вы передаете свои routeValues ​​как атрибуты html.

Передайте дополнительный ноль в качестве атрибутов htmlAttributes для вызова правильного метода.

@Html.ActionLink("x","DeleteComment", "Videos", new { commentID = 1234, actionReturnName = "[action]" }, null)
Другие вопросы по тегам