Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用AngularJS填充dropdownlist_Angularjs_Asp.net Mvc_Drop Down Menu - Fatal编程技术网

用AngularJS填充dropdownlist

用AngularJS填充dropdownlist,angularjs,asp.net-mvc,drop-down-menu,Angularjs,Asp.net Mvc,Drop Down Menu,我想用我创建的名为Vinces的表中的值填充dropdownlist。此表中只有两个内容,场馆Id和名称 我从保存表的数据库中创建了代码优先实体数据模型,并在控制器中创建了此方法: public JsonResult GetVenues() { using (ReservationsModel dc = new ReservationsModel()) { var v = dc.Venues.OrderBy(a => a.Na

我想用我创建的名为Vinces的表中的值填充dropdownlist。此表中只有两个内容,场馆Id和名称

我从保存表的数据库中创建了代码优先实体数据模型,并在控制器中创建了此方法:

public JsonResult GetVenues()
    {
        using (ReservationsModel dc = new ReservationsModel())
        {
            var v = dc.Venues.OrderBy(a => a.Name).ToList();
            return new JsonResult { Data = v, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
        }
然后,我在脚本中添加了:

$scope.selectedVenue = null;
$scope.venues = [];
$http.get("/home/getvenues").success(function (data) {
    angular.forEach(data, function (item) {
        venues.push(item.Name);
    });
    $scope.list = venues;
}).error(function (status) {
    alert(status);
});

$scope.selectedVenue = $scope.venues[i].Name;
我认为:

<select ng-model="selectedVenue" ng-options="item in venues">
    <option value="">-- Select Venue --</option>
</select>
我来自这些向导:


让我们看看你的代码。检查注释

$scope.selectedVenue = null;
$scope.venues = [];
$http.get("/home/getvenues").success(function (data) {
    angular.forEach(data, function (item) {
        // this should be $scope.venues, not just venues
        venues.push(item.Name);
    });
    // you don't need another scope variable
    $scope.list = venues;
}).error(function (status) {
    alert(status);
});
// as $scope.venues is an array of Names, $scope.selectedVenue = $scope.venues[i] is enough
$scope.selectedVenue = $scope.venues[i].Name;
所以

在模板中

<select ng-model="selectedVenue">
  <option value="">Select Venue</option>
  <option ng-repeat="venue in venues" ng-value="venue">{{venue}}</option>
</select> 
您的html部分正常,只需在controller JS中进行以下修改:

在推送时访问场地,如$scope.victions 由于http.get是异步的,因此在.success内指定默认选定项。 代码:


谢谢..我实现了更改>A<,但遗憾的是我的dropdownlist仍然没有填充;M当我点击下拉菜单时,只有“选择地点”在里面。你有一些关于如何排除我可能出错的地方的提示吗?哦,哈哈,我很抱歉。我愚蠢地从我的控制器上注释了我的GetVinces方法,我忘了它facepalm它正在工作>A<谢谢你,好先生A
<select ng-model="selectedVenue">
  <option value="">Select Venue</option>
  <option ng-repeat="venue in venues" ng-value="venue">{{venue}}</option>
</select> 
$scope.selectedVenue = null;
$scope.venues = [];
$http.get("/home/getvenues").success(function (data) {
    angular.forEach(data, function (item) {
        $scope.venues.push(item.Name);
    });
    $scope.selectedVenue = $scope.venues[i].Name; // i must be declared in your js
}).error(function (status) {
    alert(status);
});