[C#]在 AngularJs 与 post 数据的自定义方法

发布时间: 2017/2/24 2:52:58
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

这是我的问题。我有在我的应用程序中使用 $resource 服务和控制器在 web api。

这是我在角的服务

GarantiaService = function ($resource) 
{
     return $resource("../../api/garantia/:id", null,
     {
        'update': { method: 'PUT' },
        'renovar': { method: 'RENOVAR'}
     });
};

这是我的控制器

RenovarController = function ($scope, $routeParams, GarantiaService) {
    $scope.Garantia = { Id: 0 };

    $scope.ActualizarGarantia = function () {

        GarantiaService.renovar({ id: $scope.Garantia.Id }, $scope.Garantia, function () {
            //$location.path('#/');
        }, function () {
            alert("Error en la persistencia");
        });
    };
};

以及在 web api 创建一个自定义方法

    [AcceptVerbs("RENOVAR")]
    public IHttpActionResult Renovar(int id, Garantia garantia)
    {


        return StatusCode(HttpStatusCode.NoContent);
    }

是我不断收到 garantia 空在 c# 和我考试不及格的角的空对象。 它是我的服务或在 c# 中的问题吗?

在先进的谢谢你。

解决方法 1:

就这样它解决了

jscontroller

RenovarController = function ($scope, $routeParams, GarantiaService) {
    $scope.Garantia = { Id: 0 };

    $scope.ActualizarGarantia = function () {

        GarantiaService.renovar({ garantia: $scope.Garantia }, function () {
            //$location.path('#/');
        }, function () {
            alert("Error en la persistencia");
        });
    };
};

web api:

[AcceptVerbs("RENOVAR")]
public IHttpActionResult Renovar(string garantia)
{
     Garantia deser = (Garantia)JsonConvert.DeserializeObject(garantia,typeof(Garantia));

     return StatusCode(HttpStatusCode.NoContent);
}
赞助商