AngularJs , MVC During the Edit mode why Values not Binding in DropdownList

时间:2016-10-09 15:52:37

标签: asp.net-mvc twitter-bootstrap angular

Im using Mvc with Angularjs here I am fetching data from Database using join and Display data in table when i click on Edit button that particular row is binding in Bootstrap "modal" but why country,State Names not binding in the dropdown.

Here i'm showing Linq query:

    public JsonResult GetAssData()
    {
        var x = (from n in db.Accessors
                 join ctr in db.Countrys on n.CountryID equals ctr.CountryID
                 join sts in db.States on n.StateID equals sts.StateID
                 select new { n.Id, n.Name, n.Email, n.Password, n.GEnder, n.Active, ctr.CountryName, sts.StateName, });
        return new JsonResult { Data = x, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }

    public JsonResult EditSer(int id = 0)
    {
        var x = (from n in db.Accessors
                 where n.Id == id
                 join ctr in db.Countrys on n.CountryID equals ctr.CountryID
                 join sts in db.States on n.StateID equals sts.StateID
                 select new
                 {
                     n.Id,
                     n.Name,
                     n.Email,
                     n.Password,
                     n.GEnder,
                     ctr.CountryName,
                     sts.StateName,
                 });
        return new JsonResult { Data = x, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }
    public JsonResult BindCtry()
    {
        var x = from n in db.Countrys select n;
        return new JsonResult { Data = x, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }
    public JsonResult BindStates(int Id = 0)
    {
        var x = from n in db.States
                where n.CountryID == Id
                select n;
        return new JsonResult { Data = x, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }

AngularJs

app.controller('MyBindCNtrls', function ($scope, MyBindServiceservice) {


GetAssusData();
function GetAssusData() {
    var xxx = MyBindServiceservice.getAss();
    xxx.then(function (d) {
        $scope.access = d.data;
    })
}

$scope.EditEmp = function (Emp) {
    alert('in EditModes')
    var sss = MyBindServiceservice.EditAssFun(Emp.Id);
    sss.then(function (d) {
        $scope.Id = Emp.Id;
        $scope.Name = Emp.Name;
        $scope.GEnder = Emp.GEnder;
        $scope.Email = Emp.Email;
        $scope.Password = Emp.Password;
        $scope.CountryID = Emp.CountryID;
        $scope.CountryName = Emp.CountryName;

        $scope.StateName = Emp.StateName;
        $scope.ValidAction = 'Update';
        $('#Modalpopup').modal('show');
     })
    }
})
 app.service('MyBindServiceservice', function ($http) {

 this.getAss = function () {
    var xx = $http({
        url: '/Bindctrl/GetAssData',
        method: 'Get',
        params: JSON.stringify(),
        content: { 'content-type': 'application/Json' }
    })
    return xx;
}


this.EditAssFun = function (Id) {
     alert('enter in edit ser')
    var sts = $http({
        url: '/Bindctrl/EditSer',
        method: 'Get',
        params: {
            Id: JSON.stringify(Id)
        }
    });
    return sts;
 }
});

<div ng-controller="MyBindCNtrls">
    <table class="table table-bordered">
        <tr>
            <th><b>Id</b></th>
            <th><b>Name</b></th>
            <th><b>Email</b></th>
            <th><b>Password</b></th>
            <th><b>Gender</b></th>
            <th><b>CountryName</b></th>
            <th><b>StateName</b></th>
            <th><b>Action</b></th>

        </tr>

        <tr ng-repeat="Accessor in access">
            <td>{{Accessor.Id}}</td>
            <td>{{Accessor.Name}}</td>
            <td>{{Accessor.Email}}</td>
            <td>{{Accessor.Password}}</td>
            <td>{{Accessor.GEnder}}</td>
            <td>{{Accessor.CountryName}}</td>
            <td>{{Accessor.StateName}}</td>

            <td>
                <button type="button" class="btn btn-success btn-sm" value="Edit" ng-click="EditEmp(Accessor)"><span class="glyphicon glyphicon-pencil"></span></button>

            </td>
        </tr>
    </table>
    <div class="modal" id="Modalpopup">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button class="close" data-dismiss="modal">&times;</button>
                    <h3>{{msg}}Login Details</h3>
                </div>

                <div class="modal-body">
                    <form novalidate name="f1" ng-submit="SaveDb(Ass)">
                        <div>
                            {{Errormsg}}
                        </div>
                        <div class="form-horizontal">
                            <div class="form-group">
                                <div class="row">
                                    <div class="col-sm-2" style="margin-left:20px">
                                        Name
                                    </div>
                                    <div class="col-sm-8">
                                        <input type="text" class="form-control" name="nam" ng-model="Name" ng-class="Submittes?'ng-dirty':''" required autofocus />
                                        <span class="Error" ng-show="(f1.nam.$dirty || Submittes) && f1.nam.$error.required">Enter Name</span>
                                    </div>
                                </div>
                            </div>
                            <div class="form-group">
                                <div class="row">
                                    <div class="col-sm-2" style="margin-left:20px">
                                        Email
                                    </div>
                                    <div class="col-sm-8">
                                        <input type="text" class="form-control" name="MailId" ng-model="Email" ng-class="Submittes?'ng-dirty':''" required />
                                        <span class="Error" ng-show="(f1.MailId.$dirty || Submittes) && f1.MailId.$error.required">Enter Email</span>

                                    </div>
                                </div>
                            </div>
                            <div class="form-group">
                                <div class="row">
                                    <div class="col-sm-2" style="margin-left:20px">
                                        Password
                                    </div>
                                    <div class="col-sm-8">
                                        <input type="text" name="psw" class="form-control" ng-model="Password" ng-class="Submittes?'ng-dirty':''" required />
                                        <span class="Error" ng-show="(f1.psw.$dirty || Submittes) && f1.psw.$error.required">Enter Password</span>

                                    </div>
                                </div>
                            </div>
                            <div class="form-group">
                                <div class="row">
                                    <div class="col-sm-2" style="margin-left:20px">
                                        Gender
                                    </div>
                                    <div class="col-sm-8">
                                        <input type="radio" value="Male" name="Gen" ng-model="GEnder" ng-class="Submittes?'ng-dirty':''" required />Male
                                        <input type="radio" value="Fe-Male" name="Gen" ng-model="GEnder" ng-class="Submittes?'ng-dirty':''" required />Fe-Male
                                        <br />
                                        <span class="Error" ng-show="(f1.Gen.$dirty || Submittes) && f1.Gen.$error.required">Select Gender</span>

                                    </div>
                                </div>
                            </div>

                            <div class="form-group">
                                <div class="row">
                                    <div class="col-sm-2" style="margin-left:20px">
                                        Country
                                    </div>
                                    <div class="col-sm-8">
                                        <select class="form-control" name="cntrsy" ng-options="I.CountryID as I.CountryName for I in CountryList" ng-model="CountryID" ng-change="GetStates()" ng-class="Submittes?'ng-dirty':''" required>
                                            <option value="">Select Country</option>
                                        </select>
                                  <span class="Error" ng-show="(f1.cntrsy.$dirty || Submittes) && f1.cntrsy.$error.required">Select Country</span>
                                          {{CountryName}}
                                    </div>
                                </div>
                            </div>
                            <div class="form-group">
                                <div class="row">
                                    <div class="col-sm-2" style="margin-left:20px">
                                        StateName
                                    </div>
                                    <div class="col-sm-8">
                                        <select class="form-control" name="sts" ng-options="I.StateID as I.StateName for I in StateList" ng-model="StateID" ng-change="GetCitys()" ng-class="Submittes?'ng-dirty':''" required>
                                            <option value="">Select Country</option>
                                        </select>
                                        <span class="Error" ng-show="(f1.sts.$dirty || Submittes) && f1.sts.$error.required">Select States</span>


                                    </div>
                                </div>
                            </div>

                        </div>
                        <div class="modal-footer">
                            <input type="submit" class="btn btn-sm btn-success pull-right" value="{{ValidAction}}" ng-class="SaveAndSubmit()" />


                            @*&nbsp;&nbsp;&nbsp; <input type="button" class="btn btn-sm  pull-right" value="Cancel" id="BtnCancel" />*@

                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>

0 个答案:

没有答案