【发布时间】:2018-02-28 13:18:35
【问题描述】:
使用 .Net Nore C# MVC
我有以下代码:
我的数据:
public IEnumerable<string> GetData(string id)
{
return _context.TableData
.Where(r => r.ID == id)
.Select (r => r.Name).ToList();
}
我的 MVC 控制器:
public IActionResult GetDDL(string id)
{
var result = _repo.GetData(id);
//Above gives me
//[0] = "United States"
//[1] = "United Kingdom"
var json = JsonConvert.SerializeObject(result);
//Above json convert gives me ["United States","United Kingdom"]
return Json(json);
}
上面的代码确实返回了 Json,但我想知道如何创建新的 JSON,使其返回如下:
[{"Text":"United States","Text":"United Kingdom"}]
基本上,我想将此绑定回我的下拉列表,该下拉列表需要 JSON 数组的“文本”属性。
【问题讨论】:
-
试试:
var textResult = result.Select(x=> new { Text = x}); -
谢谢,工作正常。是否有可能以某种方式改进我的仓库中的 Linq 代码以返回上述内容而不是创建新结果。
-
不要在
Select之后添加ToList(),它会具体化IEnumerable<T>。此外,由于您特别希望该方法使用IEnumerable<string>,因此不应将其转换为List<string>。 -
@kaka1234 在你需要在方法中添加这一行的情况下。
-
@EhsanSajjad 哪一行?
标签: c# json asp.net-mvc json.net