私は、404リソースを見つけることができないというエラーを返すアクションがある理由を理解しようとしています。 コントローラ名:ItemManagementController マイインデックスビューには、テーブル内のアイテムのリストがあります。各行には、「削除」と「リクエストの更新」という2つのリンクがあります。削除リンクは削除アクションを呼び出し、正常に動作します。リクエストの更新で私に404エラーが表示され、http://localhost/TVAPDev/ItemManagement/RequestUpdate?itemID=9のようなURLにナビゲートしようとしているようです。MVC3ルーティングの問題HTTP 404
私は、彼らがビューの観点からしたことと同じであるため、単純なものが欠けていると仮定しなければなりません。コントローラーで定義されているアクションは、サービスレイヤー上でさまざまなメソッドを呼び出す点を除いては同じですが、それだけです。
ここに私の2つのコントローラアクションがあります。彼らは再び表示
<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 });
}
はリンクです。 Request UpdateリンクはHTTP 404エラーを表示します。
Anyhelpここに大変感謝します。
:
はたぶん、あなたはそれはこのようになりたかったです。それはあなたが意図したものですか? –