Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
Asp.net mvc 如何将枚举从MVC模型和控制器传递到KnockOutJS模型_Asp.net Mvc_Enums - Fatal编程技术网

Asp.net mvc 如何将枚举从MVC模型和控制器传递到KnockOutJS模型

Asp.net mvc 如何将枚举从MVC模型和控制器传递到KnockOutJS模型,asp.net-mvc,enums,Asp.net Mvc,Enums,我在枚举方面有点落后,如果能告诉我如何通过JsonResult从mvc控制器传递枚举来填充dropdownlist,我将不胜感激。我所有的其他财产都过得很好。其唯一的枚举如下所示: 枚举 public enum SpeciesType{ Mammal = 1; Reptile = 2; } 视图模型 public int Id {get; set;} public string AnimalName {get; set;} public DateTime DateOfRecordi

我在枚举方面有点落后,如果能告诉我如何通过JsonResult从mvc控制器传递枚举来填充dropdownlist,我将不胜感激。我所有的其他财产都过得很好。其唯一的枚举如下所示:

枚举

public enum SpeciesType{
  Mammal = 1;
  Reptile = 2; }
视图模型

public int Id {get; set;}

public string AnimalName {get; set;}

public DateTime DateOfRecording { get; set; }

public SpeciesType Species { get; set; }
控制器

public JsonResult EditAnimalRecord(int animalId){
var model = new EditViewModel();
  var record = (Linq statement in here);

  if(record.Id > 104){

   model.Id = record.Id;
   model.AniamlName = record.Name;
   model.DateOfRecording = record.DateEntered;
   model.Species = ???(Need to pass enums here) to populate dropdown via JS   
   }
return Json(model, JsonRequestBehavior.AllowGet)
}

hi-nice链接可能会通过使用Enum.GetValues(typeof(SpeciesType)).Cast().ToList()解决您的问题。我将返回填充下拉元素的这两个项的整数值,但不是名称。有什么建议吗?使用GetNames而不是GetValues会引发“指定的强制转换无效”错误。请检查与问题类似的链接