将数据从angularjs控制器传递给C#MVC CTRL

时间:2016-12-15 23:56:41

标签: c# angularjs http model-view-controller

这很简单,但它起作用了

在angularJS部分中的

我有这个代码:

   var data={"ID":1,"Key":"********"}
            $http.post("/Home/DeleteListItem", data)
                .success(function (data) {
                    alert(JSON.parse(data));
                }).error(function (response) {
                    alert(response);
                });

和C#Part就像这样

 [HttpPost]
public JsonResult DeleteListItem(Entity entity)

{

kishAppEntities db = new kishAppEntities();
Stream req = Request.InputStream;
db.Configuration.ProxyCreationEnabled = false;
var data = //some delete query

return new JsonResult()
{
    Data = data,
    JsonRequestBehavior = JsonRequestBehavior.AllowGet

};

}


public  class Entity
{
    int ID { set; get; }
    string Key { set; get; }

}

实体中没有数据我没有线索aboute ???? enter image description here

我使用这种后置方法作为第二种方法,但仍然很有效

     var entity = { "ID": 1, "Key": "********" }
        $http({
            url: "./general/DeleteListItem",
            method: "POST",
            data: JSON.stringify({
                entity: entity
        }),
        headers: {
            'Content-Type': 'application/json'
        }
        }).success(function(data, status, headers, config) {           
        }).error(function(data, status, headers, config) {
        });

3 个答案:

答案 0 :(得分:1)

无法访问您的ID和密钥属性。放在您的属性 public 访问修饰符之前,如下所示:

public  class Entity
{
    public int ID { set; get; }
    public string Key { set; get; }

}

答案 1 :(得分:0)

尝试使用jquery $ .param(data)。 您也可以尝试使用angular $ httpParamSerializer https://code.angularjs.org/1.4.0/docs/api/ng/service/ $ httpParamSerializer

答案 2 :(得分:0)

试试这个

$http.post("/Home/DeleteListItem", data)
.then(function(successResponse){
//Your code to handle response

}, 
function(errorResponse) {
//your code to handle error
});