编辑方法无法正常工作

时间:2017-03-27 03:31:29

标签: angularjs asp.net-mvc

我编写了编辑方法,以便在单击编辑链接时运行。我希望它将数据加载到文本框中,并以正确的方式传递,但数据仍未显示在文本框中。

Admin.js

var app = angular.module("adminmdl", [])
app.controller("admincontroller", function ($scope, AdminService) {
    $scope.Action = 'Add';
    GetAllCustomer();
    function GetAllCustomer() {
        var getcust = AdminService.getCustomer();
        getcust.then(function (cust) {
            $scope.customers = cust.data;
        }, function () {
            alert('Error');
        });
    }
    $scope.data = {
        cus_code: '',
        cus_name: ''
    }

    $scope.savecu = function () {

        if ($scope.Action == 'Add') { 
        AdminService.saveCustomerDdetails($scope.cusmodel).then(function (d) {
            GetAllCustomer();
            $scope.msg = "Insert Successfully";

        }, function () {
            $scope.msg = "Error Insert Customer";
        });
        }
    }

    $scope.EditCustomer = function (cust) {
        $scope.Action = "Update";

        AdminService.EditCustomersDetails(cust.cus_code).then(function (d) {
            $scope.cust = d.data;
            $scope.cust.cus_code = cust.cus_code;
            $scope.cust.cus_name = cust.cus_name;
        }, function () {
            alert('Error Update Records');
        });
        //GetAllCustomer();
    }
})
.service('AdminService', function ($http) {
    this.getCustomer = function () {
        return $http.get('GetCustomer');
    }
    this.saveCustomerDdetails = function (customer) {
        var request = $http({
            method: 'POST',
            url: '/Admin/AddCutomer',
            data: customer
        });
        return request;
    }

    this.EditCustomersDetails = function (CustomerCode) {
        var request = $http({
            method: 'POST',
            url: '/Admin/EditCustomer',
            params:{
             id:CustomerCode
             }
        });
        return request;
    }
})

ASP MVC方法

[HttpPost]
public JsonResult EditCustomer(string id) {
    var customerdetails = te.Customerss.Find(id);
    return Json(customerdetails, JsonRequestBehavior.AllowGet);
}

HTML表格

<form class="form-horizontal" method="post" name="basic_validate" id="basic_validate" novalidate="novalidate">
    <div class="control-group">
        <label class="control-label">Customer Code</label>
        <div class="controls">
            <input type="text" ng-model="cusmodel.cus_code" name="required" id="required" >
        </div>
    </div>
    <div class="control-group">
        <label class="control-label">Customer Name</label>
        <div class="controls">
            <input type="text" ng-model="cusmodel.cus_name" name="name" id="name" >
        </div>
    </div>
    <div class="control-group">
        <div class="controls">
            <input type="submit" value="Save" ng-click="savecu()" class="btn btn-success">
            <input type="submit" value="Clear" class="btn btn-success" />
        </div>
    </div>
    <div class="control-group">
        <div class="controls">
            <p style="color:green">{{msg}}</p>
        </div>
    </div>
    @*<div class="form-actions"> 
    </div>*@
</form>

<div class="widget-content nopadding">
    <table class="table table-bordered data-table">
        <thead>
            <tr>
                <th>Customer Code</th>
                <th>Customer Name</th>
            </tr>
        </thead>
        <tbody>
            <tr class="gradeX" ng-repeat="cust in customers">
                <td>{{cust.cus_code}}</td>
                <td>{{cust.cus_name}}</td>
                <td><a href="" ng-click="EditCustomer(cust)">Edit</a></td>
                <td><a href="" ng-click="DeleteCustomer(cust)"></a> </td>
            </tr>
        </tbody>
    </table>
</div>

1 个答案:

答案 0 :(得分:1)

它无效,因为您正在尝试访问未在data中传递的json对象,因此要传递数据对象,如

        return Json(new {data = customerdetails}, JsonRequestBehavior.AllowGet);

或更改

$scope.cust = d.data;$scope.cust = d;

相关问题