ASP.NET MVC 4 プロジェクトで、EF クラスのスキャフォールディングを使用して MVC コントローラーを追加しました。つまり、CRUD 操作です。それらはすべて機能します。アクション メソッドを手動で追加し、それらを指すビューに Html.ActionLink() を追加すると、404 エラーが発生します。
たとえば、コントローラーに AddImage メソッドを追加します。
public ActionResult AddImage(int id)
{
var car = db.Cars.Find(id);
return View("AddImage",car);
}
これは、Car オブジェクトに関連付けられた画像を追加するためのビューを返すだけです。対応する Index.cshtml に、次を追加します。
@Ajax.ActionLink("Add Image", "AddImage", new { id = item.CarId }, new AjaxOptions { UpdateTargetId = "modal",OnSuccess="showDialog" })
レンダリングすると、そのリンクをクリックするとコンソールに 404 が表示されます。もう1つの奇妙なことは、デバッガーで実行すると、メソッドに設定されたブレークポイントが中空で、小さな警告アイコンが表示され、この行に実行可能コードが関連付けられていないことを示しています.
RouteConfig には何も追加していません。Default だけがあり、動作するはずです。HttpPost 属性を使用したオーバーロードがありましたが、それがなくても 404 が返されます。
以前のプロジェクトでは、アクション メソッドを問題なく実行でき、それらはすべて機能します。では、ここで何が問題なのですか?
助けてください、Stackoverflow、あなたは私の唯一の希望です。