您的位置:首页 > 其它

进行同一Controller里的不同方法Get请求时,总是定位到Controller里的同一个方法的解决

2015-04-18 10:40 591 查看
环境:我用的是webapi+EF4.0+html搭建的环境

问题:进行同一Controller里的不同方法Get请求时,总是定位到Controller里的同一个方法,具体如下:

  1、Controller里有如下两个方法:

[HttpGet]
public HttpResponseMessage AddPersonToPersonInfo(string pno, string pname);

[HttpGet]
public HttpResponseMessage ModifyPersonToPersonInfo(string id, string pno, string pname);

2、前台请求如下:

var dataParas = '{"pno":"' + pno + '","pname":"' + pname + '"}';
$.get("/api/PersonManage/AddPersonToPersonInfo", eval('(' + dataParas + ')'), function (data) {
if (data != null && data.Status.Code == 200) {

        }

      );

var dataParas = '{"id":"' + idstr + '","pno":"' + pno + '","pname":"' + pname + '"}';
$.get("/api/PersonManage/ModifyPersonToPersonInfo", eval('(' + dataParas + ')'), function (data) {
if (data != null && data.Status.Code == 200) {

        }

      );

解决方法:

  首先可以通过监控工具监控http请求,看是否发送了请求,然后到Controller里设置断点进行调试

  当我进行AddPersonToPersonInfo()方法请求时,总是进入Controller里的ModifyPersonToPersonInfo()的方法,后面进过调试,突然意识到,WebApiConfig配置文件里有个默认的id参数配置的,所以把ModifyPersonToPersonInfo(string id, string pno, string pname)里的参数id改为iid,前台也要做相应的改为iid,下次调用时,表明这个方法里多了一个参数iid要拥有iid的才能配对成功。也能使得AddPersonToPersonInfo能够调用成功。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐