所以我正在使用这个复杂的匿名对象
var result = new
{
percentage = "hide",
bullets = (string)null,
item = new [] {
new {
value = 16,
text = "Day",
prefix = (string)null,
label = (string)null
},
new {
value = 41,
text = "Week",
prefix = (string)null,
label = (string)null
},
new {
value = 366,
text = "Month",
prefix = (string)null,
label = (string)null
}
}
};
我想将其转换为ViewModel并从rest API作为JSON返回。
我想知道的是
我如何将其表示为包括数组项条目的模型
创建模型实例后,如何将数组项添加到数组中
模型是否需要构造函数来初始化数组。
您可以提供的任何帮助或示例都将非常有用。
最佳答案
使用以下结构创建一个类:
public class Result
{
public Result()
{
// initialize collection
Items = new List<Item>();
}
public string Percentage { get; set; }
public string Bullets { get; set; }
public IList<Item> Items { get; set; }
}
public class Item
{
public int Value { get; set; }
public string Text { get; set; }
public string Prefix { get; set; }
public string Label { get; set; }
}
然后将您的代码更改为此:
var result = new Result
{
Percentage = "hide",
Bullets = (string)null,
Items = {
new Item {
Value = 16,
Text = "Day",
Prefix = (string)null,
Label = (string)null
},
new Item {
Value = 41,
Text = "Week",
Prefix = (string)null,
Label = (string)null
},
new Item {
Value = 366,
Text = "Month",
Prefix = (string)null,
Label = (string)null
}
}
};
上面提到的结构。
添加到集合,如下所示:
result.Items.Add(new Item { Value = 367, Text = "Month", Prefix = (string)null, Label = (string)null });
我将在上面的构造函数中初始化集合。
要从控制器操作返回json,请添加以下内容:
return Json(result, JsonRequestBehavior.AllowGet);
关于c# - 用ViewModel替换复杂的匿名对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32200140/