在淘汰赛中从Enum获得价值

时间:2018-07-31 14:11:44

标签: c# knockout.js controller

在我的控制器中,我创建了

之类的方法
[HttpGet]
    public IEnumerable<MyEnum> GetMyEnum()
    {
        return Enum.GetValues(typeof(MyEnum)).Cast<MyEnum>();
    }

然后在我的淘汰赛中,我试图像这样

  $.getJSON(BASE_PATH + 'mycontroller/GetMyEnum', function (data) {

            $.each(data, function (key, value) {
                self.myEnumbservable.push({ "key": key, "value": value });
            });

        });

这里是枚举

  public enum TypeOfGoodsEnum
{
    Cat= 10, 
    Dog= 20

}

我能够命中控制器,但淘汰赛中我什么也没得到。有人可以指导我。我是新手。

1 个答案:

答案 0 :(得分:0)

您可以在这里返回字典以实现您要执行的操作:

[HttpGet]
public IDictionary<string, int> GetMyEnum()
{
    return Enum.GetValues(typeof(MyEnum))
            .Cast<MyEnum>()
            .ToDictionary(t => t.ToString(), t => (int)t);
}

此外,您还必须编辑基因剔除部分:

 $.getJSON(BASE_PATH + 'mycontroller/GetMyEnum', function (data) {
        var enumArray = [];
        $.each(data, function (key, value) {
            enumArray.push({ "key": key, "value": value });
        });
        self.myEnumbservable(enumArray);
    });