0
在我的MVC控制器,我有两个方法具有相同的动作名称但不同的路由属性,以便它们有不同的反应,以GET和POST请求(该link建模):为什么GET和POST请求使用[HttpGet]标记的相同方法?
[HttpGet]
public string Test()
{
return "get";
}
[ActionName("Test")]
[HttpPost]
public string Test_Post()
{
return "post";
}
和相应的URI只是Sample/Test
。我还在我的RouteConfig.cs中启用了routes.MapMvcAttributeRoutes()
的属性路由。
但是,如果我向此URI发送GET或POST请求,它总是调用Test()
,从不Test_Post()
。为什么请求路由到相同的方法并忽略路由属性?
编辑:为了澄清,我将请求发送与AJAX调用:
$.post("https://{baseURL}/Sample/Test", function(result){
console.log(result);
}});
总是打印通过Test_Post()
“得到”通过Test()
而不是“后”。