Я затрудняюсь понять, почему у меня есть Действия, которые возвращают 404 ошибки «Ресурс не найден».
Имя контроллера: ItemManagementController
Мое представление индекса имеет список элементов в таблице. Каждая строка содержит две ссылки: «Удалить» и «Запросить обновление». Ссылка Delete вызывает действие Delete и работает нормально. Обновление запроса выдает мне ошибку 404 и, похоже, пытается перейти к URL-адресу, например http://localhost/TVAPDev/ItemManagement/RequestUpdate?itemID=9.
Я должен предположить, что мне не хватает чего-то простого, поскольку они идентичны в том, что они делают с точки зрения вида. Действия, определенные в контроллере, похожи, за исключением того, что они вызывают разные методы на уровне службы, но это все.
Вот мои два действия контроллера.
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult Delete(int itemID) {
var svc = new ItemManagementService(_repository);
var requestModel = svc.GetItemDeleteModel(itemID);
svc.DeleteItem(requestModel);
var message = requestModel.ActionMessage;
return Json(new { id = itemID, ChangeStatus = requestModel.ItemDetails.ItemChangeStatus.ToString(), ChangeType = requestModel.ItemDetails.ItemChangeType.ToString(), message});
}
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult RequestUpdate(int itemID) {
var svc = new ItemManagementService(_repository);
var requestModel = svc.GetItemUpdateRequestModel(itemID);
svc.RequestItemUpdate(requestModel);
var message = requestModel.ActionMessage;
return Json(new { id = itemID, ChangeStatus = requestModel.ItemDetails.ItemChangeStatus.ToString(), ChangeType = requestModel.ItemDetails.ItemChangeType.ToString(), message });
}
Вот ссылки, как они определены в представлении
<td class="tblist" style="white-space: nowrap;">
@Html.ActionLink("Request Update", "RequestUpdate", new { itemID = item.ItemID }, new AjaxOptions {
HttpMethod = "POST",
Confirm = "Request an Update to this item?",
OnSuccess = "actionCompleted"
})break;
}
</td>
<td class="tblist" style="white-space: nowrap;">
@Ajax.ActionLink("Delete", "Delete", new { itemID = item.ItemID }, new AjaxOptions {
HttpMethod = "POST",
Confirm = "Are you sure you want to delete this Item?",
OnSuccess = "actionCompleted"
})
</td>
Опять же, удаление здесь работает без проблем. Ссылка «Запросить обновление» выдает ошибку Http 404.
Любая помощь здесь будет принята с благодарностью.