Как мне передать параметры в процедуру, активированную нажатием кнопки? - PullRequest
0 голосов
/ 04 октября 2011

У меня есть блог. На его главной странице есть список тем. Я хотел бы создать кнопку, которая позволила бы пользователю удалить тему (я знаю идентификатор каждой темы в списке, и этот идентификатор является ключевым полем в базе данных).

Views / Home / Index:

   @{
    if (ViewBag.userIsModerator)
        using (Html.BeginForm("DeleteTopic", "Home", new { topicId = item.ID }))
        {
            <input type = "submit" value = "Delete topic" />
        }
    }

Следующая процедура запускается после нажатия на кнопку отправить.

Контроллеры / HomeController:

[HttpPost]
public ActionResult DeleteTopic(int topicId)
{
    db.DeleteTopic(topicId);
    return RedirectToAction("Index", "Home");
}

Моя проблема заключается в передаче идентификатора темы в контроллер, поскольку new {topicId = item.ID} является источником ошибки. Кто-нибудь знает, как решить эту проблему, без new {topicId = item.ID} ?

1 Ответ

0 голосов
/ 04 октября 2011

При использовании вы можете использовать скрытое поле.

@using (Html.BeginForm())
{
   <input type="hidden" name="topicId" value="5" />
   ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...