Below is the error i getting :
The model item passed into the dictionary is of type 'System.Collections.Generic.List[StoredProcedureEF_MVC.tbl_users]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable[StoredProcedureEF_MVC.Models.User]'.
I have tried a lot but don't know where i was doing wrong, no luck from last two days. I am learning MVC, so sorry if you got some stupid mistake.
My Model :
namespace StoredProcedureEF_MVC.Models { [Table("tbl_users")] public class User { [Key] public int UserId { get; set; } [Required] public string Username {get;set;} [Required] public string Email { get; set; } } } VIEW:
@model IEnumerable<StoredProcedureEF_MVC.Models.User> @{ ViewBag.Title = "Delete"; } @{ var grid = new WebGrid(source: Model); } @grid.GetHtml( columns: grid.Columns( grid.Column("UserID"), grid.Column("Username"), grid.Column("Email"), grid.Column( format: (item) => Html.ActionLink("Delete", "DeleteUser", new {id=item.UserID }) ) ) ) CONTROLLER ACTION:
[HttpGet] public ActionResult Delete() { SPEFMVCEntities conn = new SPEFMVCEntities(); var result = (from p in conn.tbl_users select p).ToList(); return View(result); }
conn.tbl_usersis declared to return anIQueryable<StoredProcedureEF_MVC.tbl_users>, not anStoredProcedureEF_MVC.Models.User... How did you expect the conversion to be performed from one to the other?StoredProcedureEF_MVC.tbl_usersis not the same type asStoredProcedureEF_MVC.Models.User