나는 '자원을 찾을 수 없습니다'오류를 반환하는 조치가있는 이유를 알아 내려고 노력하고 있습니다. 컨트롤러 이름 : ItemManagementController 내 인덱스보기에는 테이블의 항목 목록이 있습니다. 각 행에는 '삭제'와 '업데이트 요청'이라는 두 개의 링크가 있습니다. 삭제 링크는 삭제 작업을 호출하고 정상적으로 작동합니다. 요청 업데이트를 통해 404 오류가 나타나며 http://localhost/TVAPDev/ItemManagement/RequestUpdate?itemID=9과 같은 URL로 이동하는 것처럼 보입니다.MVC3 라우팅 문제 HTTP 404
그들은보기 측면에서 그들이하는 것과 똑같기 때문에 나는 간단한 것을 놓치고 있다고 가정해야합니다. 컨트롤러에 정의 된 동작은 서비스 레이어에서 서로 다른 메서드를 호출한다는 점을 제외하면 모두 유사하지만 그게 전부입니다.
여기 내 두 가지 컨트롤러 작업이 있습니다. 그들이 다시보기
<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>
에 정의 된, 여기에 삭제가 문제없이 작동 될 때 여기에
[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 });
}
는 링크입니다. 업데이트 요청 링크를 사용하면 HTTP 404 오류가 발생합니다.
Anyhelp 여기에 큰 도움이 될 것입니다.
:
아마 당신은이처럼되고 싶었다. 그게 당신이 의도 한 것입니까? –