developerit Ответов: 0

Как отобразить сведения о пользователе на основе выбранного значения в раскрывающемся списке в angular js и MVC


уважаемый господин,
Я использую Asp.net mvc5 с c# с angularjs visualstudio 2013 и sql server 2008 ,
в моем приложении у меня есть два выпадающих списка страна и Штаты соответственно, когда я выбираю выпадающий список Штаты и нажимаю кнопку, я должен отображать сведения о пользователях на основе идентификатора штата

просто мне нужно где я должен написать этот код чтобы получить информацию о пользователе не могли бы вы мне помочь
Ниже приведены мои таблицы базы данных, угловой JS-скрипт, файл.Cshtml и cs


таблица базы данных
-----------------
Страна
--------
PK-CountryID-Int
Название Страны-Варчар(100)

Состояния
------
PK-StateID-int
StateName-Varchar(100)
FK-CountryId-int

Пользователи
-----
ПК-идентификатор пользователя-инт
Имя пользователя-varchar(50)
EmailId-varchar (50)
Пол-варчар (50)
FK-StateID-int


Файл скрипта Java
---------------
DropdownController.js

angular.module('myApp').controller('DropdownController', function ($scope, StateService) {
    
   

    $scope.CountryID = null;
    $scope.StateID = null;
    $scope.CountryList = null;
    $scope.StateList = null;

    $scope.StateTextToShow = "Select State";
    $scope.Result = "";

    // Populate Country list using GetCountry()
    StateService.GetCountry().then(function (d) {
        //assign countries to $scope.CountryList
        $scope.CountryList = d.data;    //success
    },
    function (error) {
        alert('Error!');    //throws error for failure
    });
    // This function to Populate State 
    
    $scope.GetState = function () {
        $scope.StateID = null; 
        $scope.StateList = null; 
        $scope.StateTextToShow = "Please Wait..."; 

        //Load State 
        StateService.GetState($scope.CountryID).then(function (d) {
            $scope.StateList = d.data;
            $scope.StateTextToShow = "Select State";
        }, function (error) {
            alert('Error!');
        });

    }
    // Function for show result
    //it will be displayed after clicking on button
    $scope.ShowResult = function () {
        $scope.Result = "Selected Country ID : " + $scope.CountryID + " State ID : " + $scope.StateID;
    }

})
.factory('StateService', function ($http) { 
    fac.GetCountry = function () {
        return $http.get('/Home/GetCountries/')
    }
    fac.GetState = function (countryID) {
        return $http.get('/Home/GetStates/?CountryID=' + countryID)
    }

    return fac;
});


HomeControler. cs
----------------
public ActionResult GetCountries()
        {
           // List countrylist = new List();

            //List<country> countrylist = new List<country>();


            MVCTutorialEntities dc = new MVCTutorialEntities();
            
                var  countrylist =   dc.Countries.OrderBy(a => a.CountryName).ToList();

                return Json(countrylist,JsonRequestBehavior.AllowGet);
        }
        // Get States based on Country selected in dropdown

        public ActionResult GetStates(int countryID)
        {
 
 MVCTutorialEntities dc = new MVCTutorialEntities();
           
              var statelist = dc.States.Where(a => a.CountryID==countryID);
            
            return  Json(statelist,JsonRequestBehavior.AllowGet); 
        }




        public ActionResult GetUsers(int StateID)
        {
           
            MVCTutorialEntities dc = new MVCTutorialEntities();

            var userlist = dc.Users.Where(a => a.StateID == StateID).ToList();

            return Json(userlist, JsonRequestBehavior.AllowGet);
        }


.cshtml файл
-----------
<div class="panel panel-info">
    <div class="panel-heading">
        Cascading Dropdown using AngularJS and MVC5
    </div>
    <div class="panel-body">
        <div>
            <div class="dropdown">
                Country :
                
                    Select Country
                

                State :
                
                    {{StateTextToShow}}
                

                

                <div class="modal fade" id="myModal">
                    <div class="modal-dialog">

                        <div class="modal-content">
                            <div class="modal-header">
                                ×
                                <h4 class="modal-title">Modal Header</h4>
                            </div>
                            <div class="modal-body" id="myModal">
                                {{Result}}
                            </div>
                            <div class="modal-footer">
                                Close
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        </div>
    </div>
    <div class="panel-footer">
        Developments 2016
    </div>
</div>
@section scripts{
   





    

}


Что я уже пробовал:

Я попытался выбрать из страны f этот usersrom выпадающий список затем я выберу состояния из выпадающего списка до Здесь я в порядке но когда я хочу отобразить пользователей на основе состояний я не получаю этого не могли бы вы предложить

Nirav Prabtani

Используйте блок кода всякий раз, когда вы пишете код в вопросе или ответе
К нему будет легко подойти и вам, и другим.

Nirav Prabtani

Вы должны заполнить свое представление данными пользователей о событии ng-change выпадающего списка состояний.

0 Ответов