I'm getting this error:
The model item passed into the dictionary is of type System.Data.Entity.Infrastructure.DbQuery``1[<>f__AnonymousType1``2[System.DateTime,System.Int32]]
, but this dictionary requires a model item of type System.Collections.Generic.IEnumerable``1[AtAClick.Models.WhatsOn]
.
This is my controller;
public ViewResult Index(WhatsOn model)
{
DateTime myDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
var datequery =
db.WhatsOns.Where(c => c.start > myDate).OrderByDescending(c => c.start).GroupBy(c => c.start).Select(
sGroup => new
{
day = sGroup.Key,
whtscount = sGroup.Count()
});
return View(datequery);
}
I want to return all entries after todays date and the number of entries. I'm new to this, any help is greatly apprecieted! Thanks in advance, if you need any mjore detail just let me know. Thanks!
This is my view
==============================
@model IEnumerable<AtAClick.Models.WhatsOn>
@{ ViewBag.Title = "Index"; }
<h2>Index</h2>
<p>@Html.ActionLink("Create New", "Create")</p>
<table>
<tr>
<th>start</th>
<th>end</th>
<th>Name</th>
<th>Desc</th>
<th>link</th>
<th>CalenderDisplay</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>@Html.DisplayFor(modelItem => item.day)</td>
<td>@Html.DisplayFor(modelItem => item.whtscount)</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
@Html.ActionLink("Details", "Details", new { id=item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
============================
This is the edit method in my controller;
// // GET: /WhatsOn/Edit/5
public ActionResult Edit(int id)
{
WhatsOn whatson = db.WhatsOns.Find(id);
return View(whatson);
}
//
// POST: /WhatsOn/Edit/5
[HttpPost]
public ActionResult Edit(WhatsOn whatson)
{
if (ModelState.IsValid)
{
db.Entry(whatson).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(whatson);
}