2013-03-06 20 views
2

我正在與asp.net MVC 4.0,在我的API控制器我有兩個保存方法,通過AJAX調用調用。問題是他們兩個不同時工作,即該方法不被調用。 如果我評論一個其他作品精細APIController的在asp.net mvc 4.0多種保存方法不工作在api控制器

示例代碼:

[HttpPost] 
public IEnumerable<Model1> Save1 (Model1 model1) 
{ 
    //code 
} 


[HttpPost] 
public IEnumerable<Model2> Save2(Model2 model2) 
{ 

} 

代碼JSON的:

$.ajax 
     ({ 
      url: "/api/Myapi/Save1",     
      type: 'POST', 
      dataType: "json", 
      contentType: "application/json; charset=utf-8", 
      data: JSON.stringify(model1), 
      success: function (data) { 
       alert("success"); 

       return true; 
      } 
     }); 

爲SAVE2方法 請提出類似的代碼。

+1

顯示'WebApiConfig.cs'文件 – 2013-03-06 10:53:39

回答

1

如果你想違反標準的REST風格的路由慣例和使用您的操作的自定義名稱,你必須確定你的WebApiConfig定製路線包含在它的{action}部分:

public static class WebApiConfig 
{ 
    public static void Register(HttpConfiguration config) 
    { 
     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{action}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
    } 
} 

REST風格的路由慣例規定每個HTTP動詞和每個資源(即API控制器)應該有一個單獨的動作。

+0

嗨達林季米特洛夫,其實我是新來的asp.net mvc 4.could你請解釋我應該在WebApiConfig中添加什麼,以便我的保存方法將工作.. – user2139492 2013-03-07 05:12:19

+0

您是否嘗試過把我在答案中展示的東西放在哪裏? – 2013-03-07 07:10:37

+0

雅我已經試過,但它不工作 – user2139492 2013-03-07 10:32:47

相關問題