我用 durandal/breeze 开发了一个 asp.net mvc 解决方案。
我有一个下拉列表,其中列表是从 Entity Framework Code First 提供的枚举中填充的。这是模型服务器端:
public enum EnumCategory
{
Cat1,
Cat2,
Cat3,
Cat4
}
这是使用此枚举的表:
public class Transport
{
[Key]
public int Id { get; set; }
public EnumCategory Category { get; set; }
...
}
我的问题:如何检索枚举服务器端的这些值以便能够填充我的下拉客户端?我是否必须像这样在客户端手动创建一个新数组:
var categories = [
{ id: '' , description: '' },
{ id: 'Cat1', description: 'Category 1' },
{ id: 'Cat2', description: 'Category 2' },
{ id: 'Cat3', description: 'Category 3' },
{ id: 'Cat4', description: 'Category 4' }];
我的视图显示这个下拉列表是这样的:
<select data-bind="options: $root.categories,
optionsText: 'description',
optionsValue: 'id',
value: category,
validationOptions: { errorElementClass: 'input-validation-error' },
valueUpdate: 'afterkeydown'">
</select>
对我来说,必须重新创建客户端的值列表似乎是多余的,因为我们已经拥有服务器端的值列表。
任何的想法?
谢谢。