は、私は同じアクション名を持つ2つのメソッドを持っていますが、異なるルーティングをので、彼らが要求する(このlinkによってモデル化)GETとPOSTするために異なる応答属性:GETリクエストとPOSTリクエストが[HttpGet]というラベルの付いた同じメソッドに移動するのはなぜですか?私のMVCコントローラで
[HttpGet]
public string Test()
{
return "get";
}
[ActionName("Test")]
[HttpPost]
public string Test_Post()
{
return "post";
}
を、対応するURIがちょうどあります。また、私のRouteConfig.csにroutes.MapMvcAttributeRoutes()
という属性ルーティングを有効にしました。
ただし、このURIにGETリクエストまたはPOSTリクエストを送信すると、常にTest()
がコールされ、決してTest_Post()
はコールされません。リクエストが同じメソッドにルーティングされ、ルート属性が無視されるのはなぜですか?
EDIT:
$.post("https://{baseURL}/Sample/Test", function(result){
console.log(result);
}});
常にTest()
経由の代わりに "ポスト" のTest_Post()
を経由して "取得" 印刷します:明確にするために、私は、AJAX呼び出しで要求を送信します。