Я работаю над простым проектом CMS, и я столкнулся со стеной. А потом через много часов взорвали его.
Почему-то мои кнопки внутри @Ajax.BeginForm не активировали обратную передачу. Ни полный постбэк, ни ajax. Я ссылался на сценарии и пытался отлаживать jQery, проверял каждый символ в Контроллеры, Представления, Ссылки и Модели , но безрезультатно.
Не было ни ошибок, ни исключений.
Действие контроллера:
[HttpPost]
public ActionResult Delete(int ID,int page=1)
{
//some code...
//...work, work, work...
}
Просмотр сегмента:
@using (Ajax.BeginForm("Delete", "Client", new { page = Model.CurrentPageIndex }, ao))
{
@Html.Hidden("clientID", item.ClientID)
<input type="submit" value="Briši" name="brisi" />
}
Ошибка:
Словарь параметров содержит пустую запись для параметра 'ID' ненулевого типа 'System.Int32' для метода 'System.Web.Mvc.ActionResult Delete (Int32, Int32)' в 'Info3CRM.WebUI.Controllers. ClientController. Необязательный параметр должен быть ссылочным типом, обнуляемым типом или быть объявлен как необязательный параметр.
Имя параметра: параметры
Наконец-то я решил отключить jQuery и Ajax и выполнить обычную обратную передачу. Затем было сделано исключение. Я пытался вызвать Действие в контроллере без всех необходимых параметров.
Мой вопрос ко всем: как отловить такое исключение, если включены jQuery и ajax?