【发布时间】:2014-03-25 18:19:37
【问题描述】:
我的控制器中有几个 post 方法。每当我向这个控制器发布数据时,只会调用第一个 POST 方法。我的要求是调用第二种方法,因为两种方法的参数都会不同。这是路由配置:
config.Routes.MapHttpRoute(
name: "AddUser",
routeTemplate: "api/users/adduser",
defaults: new { controller = "users" }
);
config.Routes.MapHttpRoute(
name: "ChangeUser",
routeTemplate: "api/users/changeuser",
defaults: new { controller = "users" }
);
这是我的控制器的代码:
[AllowAnonymous]
[ActionName("adduser")]
public string PostDetails(JObject userData)//Always this method is called.
{
//My code here
}
[AllowAnonymous]
[ActionName("changeuser")]
public string ChangeUser(int userId)
{
//My code here
}
这是从视图中调用的:
Ext.Ajax.request( { url: 'localhost/myapp/api/users/changeuser'
, mode: 'POST'
, params: { userID: 1 }
}
);
【问题讨论】:
-
你能显示调用代码(视图中的表单)吗?
-
我在客户端使用 ExtJS。这就是我调用这些方法的方式: Ext.Ajax.request({ url: 'localhost/myapp/users/changeuser', mode: 'POST', params: { userID: 1 }});
-
请将您的代码添加到问题中,而不是在 cmets 中。
-
您的浏览器控制台有任何错误吗?
-
没有。我可以调试代码。它从第一个 post 方法“添加用户”返回结果。
标签: c# asp.net-mvc asp.net-mvc-4