0
私は非常にシンプルなコントローラー+アクションを持っています。私がPOSTをすると、私は404が得られます。コントローラに投稿すると404エラーが発生する - ルーティングが壊れているようですか?
マイRouteConfig:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Task view",
url: "task/{projectid}",
defaults: new { controller = "Task", action = "Index" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
}
マイコントローラ:今
public class TaskController : Controller
{
// GET: Task
[System.Web.Mvc.HttpGet]
public async Task<ActionResult> Index(int projectid)
{
// extremely nice and insightful code
return View(vm);
}
[System.Web.Mvc.HttpPost]
public async Task<JsonResult> UpdateSigneeRequest([FromBody] TaskViewModel task)
{
// even more smart code
return Json("OK", JsonRequestBehavior.AllowGet);
}
}
、私は/task/75
簡単に開くことができると私は正しいインデックスの結果を取得していプロジェクトID。しかし、私は単に/task/UpdateSigneeRequest
にPOSTすることはできません。私もこのメソッドからパラメータを削除しようとしましたが、何も動作していないようです。
Default
ルートがこれと一致する必要があります(コントローラのタスク、アクションはUpdateSigneeRequest、IDはオプション)。
task
後
数値に対して特異的であり、あなたのGETリクエストが適切に処理されるように、あなたはあなたのルート定義のための制約を提供することができます