I have problem in selecting array from linQ list.
Array in general for some static data-
List<string> nameList = new List<string>
{
"Jonathan", "Lisa", "Jordan", "Tyler", "Susan", "Brandon", "Clayton", "Elizabeth", "Jennifer"
};
var results = nameList.Where(n =>
n.StartsWith(term, StringComparison.OrdinalIgnoreCase));
return new JsonResult()
{
Data = results.ToArray(),
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
Linq query-
var names = (from u in db.Contacts
select u).ToList();
Now from this above linq query there will be names from this column. I want to select names from this above query by making array of its name. How do I setup an array for names in this query, as it is doing for static based data.
Edit-
[HttpGet]
public JsonResult GetNames(string term)
{
var names = (from u in db.Contacts
where u.name.Contains(term)
select u).ToArray();
// A list of names to mimic results from a database
var results = names.Where(n =>
n.name.StartsWith(term, StringComparison.OrdinalIgnoreCase));
return new JsonResult()
{
Data = results.ToArray(),
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
I have modified this method from above , Now I can get list on the server's side. But at json result at it leaves me with internal server error (500).
Script-
<script type="text/javascript">
$(function () {
$('#typeahead').typeahead({
source: function (term, process) {
var url = '@Url.Content("~/Invoice/GetNames")';
return $.getJSON(url, { term: term }, function (data) {
alert(data);
return process(data);
});
}
});
})
</script>
A circular reference was detected while serializing an object of typeselect u.nameinstead ofselect u, also in this case should not be circular references