2016-11-22 51 views
0

我有一個類如何通過類對象angularjs功能

public class Customer 
{ 
    private int _Id; 
    public int Id 
    { 
     get { return _Id; } 
     set { _Id = value; } 
    } 
    private String _Name; 
    public String Name 
    { 
     get { return _Name; } 
     set { _Name = value; } 
    } 
    private String _Address; 
    public String Address 
    { 
     get { return _Address; } 
     set { _Address = value; } 
    }  
} 

我需要使用這個類來保存數據。我需要知道如何調用這個類中的數據功能

$scope.Save = function() { 
      var httpreq = { 
       method: 'POST', 
       url: 'ajs.aspx/Save', 
       headers: { 
        'Content-Type': 'application/json; charset=utf-8', 
        'dataType': 'json' 
       }, 
       data: { //** Here How to call assign object value for my customer class **// } 
      } 
      $http(httpreq).success(function (response) { 
       alert("Saved successfully."); 
      }) 
     }; 

如何創建類對象,併爲我的客戶類在這個數據部分指定值。

在我的Web方法

[System.Web.Services.WebMethod()] 
    public static void Save(Customer objcsr) 
    { 
     using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString)) 
     { 
      using (SqlCommand cmd = new SqlCommand()) 
      { 
       cmd.Connection = con; 
       cmd.CommandText = "insert into customer (Name, Address) values (@Name, @Address);"; 
       cmd.Parameters.AddWithValue("@Name", objcsr.Name); 
       cmd.Parameters.AddWithValue("@Address", objcsr.Address); 
       con.Open(); 
       cmd.ExecuteNonQuery(); 
       con.Close(); 
      } 
     } 
    } 
+1

可能重複的[從Angular發佈到.net WebAPI](http://stackoverflow.com/questions/16621706/posting-from-angular-to-net-webapi) –

回答

0

您需要用類屬性通過JSON格式的數據,試試這個下面的代碼

Var objcsr={Id:"1",Name:"Donald Trump",Address:"Alien Planet"} 

$scope.Save = function() { 
      var httpreq = { 
       method: 'POST', 
       url: 'ajs.aspx/Save', 
       headers: { 
        'Content-Type': 'application/json; charset=utf-8', 
        'dataType': 'json' 
       }, 
       data: objcsr 
      } 
      $http(httpreq).success(function (response) { 
       alert("Saved successfully."); 
      }) 
     }; 
0

當你從客戶端發送數據到服務器,根據最佳做法,數據應以XMLJSON的形式發送。

因此,您的類對象的JSON可能是像

var obj = { 
    "id" : "YOUR ID", 
    "name" : "YOUR NAME", 
    "address" : "YOUR ADDRESS" 
} 

此外,根據最佳實踐,HTTP請求應使用廠家或服務進行。

所以,你的工廠應該是這樣

angular.module("YOUR_MODULE").factory('YOUR_SERVICE',function($http,$q){ 

    var obj = {}; 
    obj.saveObject = function(data){ 
     var defer = $q.defer(); 
     $http.post("YOUR URL",data).then(function(response){ 
     defer.resolve(response); 
     },function(error){ 
     defer.reject(error); 
     }); 
     return defer.promise; 

    } 
    return obj; 
}); 

就這樣你可以做一個控制器調用作爲

$scope.Save = function (data) { 
    YOUR_SERVICE.saveObject(data); 
} 

,並且可以被稱爲像

var obj = { 
     "id" : "YOUR ID", 
     "name" : "YOUR NAME", 
     "address" : "YOUR ADDRESS" 
    } 
    $scope.Save(obj); 
0

如果你獲得它從表單元素那麼你應該使用它像

$scope.Save = function() { 
      var customerObject={ 
           "Id": $scope.customerId, 
           "Name": $scope.customerName, 
           "Address":$scope.customerAddress 
           };         
      var httpreq = { 
       method: 'POST', 
       url: 'ajs.aspx/Save', 
       headers: { 
        'Content-Type': 'application/json; charset=utf-8', 
       }, 
       data: { customerObject } 
      } 
      $http(httpreq).success(function (response) { 
       alert("Saved successfully."); 
      }) 
     }; 

另外需要注意的是,你是路過應該在的WebMethod的對象名的匹配對象名和它們各自的特性。例如

你的屬性是 您相應的JSON對象必須具有相同的屬性

ID:$範圍。 Id

名稱:$ scope。 名稱

地址:$ scope。 地址