首页 > 其他 > 详细

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

时间:2015-04-18 11:19:02      阅读:145      评论:0      收藏:0      [点我收藏+]

环境:我用的是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能够调用成功。

  

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

原文:http://www.cnblogs.com/luoyaqi/p/4436961.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!