Ошибка 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)