嘿,我正在填充一个下拉列表,从数据库中获取值,然后将其存储在类别类型列表中 这是类别
public class Category
{
[Key]
[Required]
public int main_category_Id { get; set; }
public string Main_Category { get; set; }
}
并将值存储在上面的类型Collection中 下面是从Db获取值并作为json对象返回的代码
public JsonResult getcategory()
{
IEnumerable<Category> catgry_list;
//calling the category interface method
catgry_list = repository.category_List;
// var data = s_list;
return new JsonResult (new { Data=catgry_list });
}
下面是我接收该类型列表的角度控制器代码
LocationService.getcategory().then(function (d) {
$scope.cat_list = d.data;
},
在上面的部分中,** cat_list **是在Scope中声明的变量,代码在
之下 $scope.cat_list = null;
getcategory()是一个代码低于
的函数 fac.getcategory = function () {
return $http.get('/Admin/getcategory');
}
下面的是我的前端下拉代码
<Select ng-model="catgryid" ng-options="I.main_category_Id as I.Main_Category for I in cat_list" class="form-control"
>
</Select>
当我运行我的应用程序时,它显示未定义我在chrome中调试它显示 cat_list 具有值,但它只显示未定义
我无法理解什么是未定义这是什么解决方案
答案 0 :(得分:0)
第一件事,你在这一行中不需要as I.Main_Category
...
I.main_category_Id as I.Main_Category for I in cat_list
将此更改为此
I.main_category_Id for I in cat_list
然后是您的问题,所以我猜问题是在您的json对象中..
返回新的JsonResult(new {Data = catgry_list});
您正在将列表作为json对象发送...它将返回类似这样的内容
data : [{lstObj1},{lstObj2},{lstObj3},,,]
因此,当您尝试遍历此“数据”时,它会提供整个列表{lstObj1},{lstObj2},{lstObj3},,,
,但您期望lstObj
并将其视为列表对象。它返回给你undefined
(希望你理解我所说的)
所以最简单的解决方案是Don't convert you list into another json object, pass it as it is, it will definitely work