传递到字典中的模型项的类型为'System.Collections.Generic.List 1[Onclickmuseum.Models.PackageModel]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [Onclickmuseum.Models.AuctionModel]'。
描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。
异常详细信息:System.InvalidOperationException:传递到字典中的模型项的类型为“System.Collections.Generic.List 1[Onclickmuseum.Models.PackageModel]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [Onclickmuseum.Models.AuctionModel]”。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[InvalidOperationException:传递到字典中的模型项的类型为'System.Collections.Generic.List 1[Onclickmuseum.Models.PackageModel]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [Onclickmuseum.Models.AuctionModel]'。]
System.Web.Mvc.ViewDataDictionary 1.SetModel(Object value) +378
System.Web.Mvc.ViewDataDictionary.set_Model(Object value) +47
System.Web.Mvc.ViewDataDictionary..ctor(ViewDataDictionary dictionary) +614
System.Web.Mvc.ViewDataDictionary
1..ctor(ViewDataDictionary viewDataDictionary)+37
System.Web.Mvc.WebViewPage`1.SetViewData(ViewDataDictionary viewData)+98
System.Web.Mvc.WebViewPage.set_ViewData(ViewDataDictionary value)+38
System.Web.Mvc.RazorView.RenderView(ViewContext viewContext,TextWriter writer,Object instance)+458
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext,TextWriter writer)+382
答案 0 :(得分:3)
异常错误消息非常清楚。您有一个强类型的视图或部分:
@model IEnumerable<Onclickmuseum.Models.AuctionModel>
但你的控制器操作传递了List<Onclickmuseum.Models.PackageModel>
。确保控制器操作正在向视图传递正确类型的模型。
或者,如果这是在您使用Html.Partial
帮助器从主视图渲染的部分内部,请确保除了将部分视图名称作为第一个参数传递外,您还要将模型作为第二个参数是正确的类型。如果没有将第二个参数传递给Html.Partial助手,那么主视图的模型将传递给它,它可能不是同一类型。
答案 1 :(得分:0)
**Controller file of this index page**
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Onclickmuseum.Models;
using System.Data;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
namespace Onclickmuseum.Controllers
{
public class AuctionController : Controller
{
//
// GET: /Auction/
private OCMContext db = new OCMContext();
public ActionResult Index()
{
ViewBag.CategoryId = new SelectList(db.CategoryModels, "CategoryId", "CategoryName");
ViewBag.SubcategoryId = new SelectList(db.SubcategoryModels, "SubcategoryId", "SubcategoryName");
return View();
}
[HttpPost]
public ActionResult Index(AuctionModel auction)
{
if(ModelState.IsValid)
{
db.Entry(auction).State = EntityState.Added;
db.SaveChanges();
}
return RedirectToAction("Index");
}
public ActionResult Search()
{
return View(db.PackageModels.ToList());
}
}
}