C# 返回JsonResult我自己的对象
我在ASP.net核心mvc中得到了这个简单的示例。它响应jquery的自动完成,因此我得到一个项目列表(正如您所看到的,它向客户端发送JSon) 这很有效。我向客户端返回一个字符串列表。但我希望它发送我自己对象的字段:C# 返回JsonResult我自己的对象,c#,json,asp.net-core-mvc,C#,Json,Asp.net Core Mvc,我在ASP.net核心mvc中得到了这个简单的示例。它响应jquery的自动完成,因此我得到一个项目列表(正如您所看到的,它向客户端发送JSon) 这很有效。我向客户端返回一个字符串列表。但我希望它发送我自己对象的字段: 那么:在我返回JSon之前 var items = new[] { "Apple", "Pear", "Banana", "Pineapple", "Peach" }; 现在我想返回集合中所有对象的全名 我知道这一定很简单。。。但是我找不到办法。 谢谢您可以使用linq选择
那么:在我返回JSon之前
var items = new[] { "Apple", "Pear", "Banana", "Pineapple", "Peach" };
现在我想返回集合中所有对象的全名
我知道这一定很简单。。。但是我找不到办法。
谢谢您可以使用linq选择PRV类别的单个属性:
List<PrvCategory> oCategoriesList;
var filteredItems = oCategoriesList
.Where(item => item.FullName.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0)
.Select(i => i.FullName);
return Json(filteredItems);
List-oCategoriesList;
var filteredItems=oCategoriesList
.Where(item=>item.FullName.IndexOf(term,StringComparison.InvariantCultureIgnoreCase)>=0)
.选择(i=>i.FullName);
返回Json(filteredItems);
如果您有一个数据库中所有对象的列表,并且只想将选定的属性作为Json发送到视图中。这可以通过以下方法实现:
整个函数应如下所示:
返回Json(filteredItems)
看起来可以完成这项工作,当然返回的字段名必须与autocomplete插件期望的字段名匹配。这可能是拼图中缺失的部分,尽管你没有真正弄清楚到底出了什么问题。显示了一个示例,我认为这意味着您需要JSON中名为“label”和“value”的字段才能使用它们。所以你离解决方案不远了,我不认为。
public class PrvCategory
{
public int CategoryId { get; set; }
public String FullName { get; set; }
}
var items = new[] { "Apple", "Pear", "Banana", "Pineapple", "Peach" };
List<PrvCategory> oCategoriesList;
var filteredItems = oCategoriesList
.Where(item => item.FullName.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0)
.Select(i => i.FullName);
return Json(filteredItems);
var filteredItems = items.Where(item => item.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0);
return Json(filteredItems.Select(x => new
{
fullName = x.FullName,
}));
public JsonResult Autocomplete(string term){
var items = new[] { "Apple", "Pear", "Banana", "Pineapple", "Peach" };
var filteredItems = items.Where(item => item.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0);
return Json(filteredItems.Select(x => new
{
fullName = x.FullName,
})); //, JsonRequestBehavior.AllowGet); }