2014-02-01 5 views
-3

Элемент модели, переданный в словарь, имеет тип '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.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]'.

Источник ошибки:

Необработанное исключение при выполнении текущего веб-запроса. Информация о происхождении и местоположении исключения может быть идентифицирована с использованием следа стека исключений ниже.

Трассировка стека:

[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) +38 системы. Web.Mvc.RazorView.RenderView (ViewContext viewContext, писатель TextWriter, экземпляр объекта) +458 System.Web.Mvc.BuildManagerCompiledVi ew.Render (ViewContext viewContext, TextWriter writer) +382

+2

Показать свой метод действий и первую строку зрения. Или вы можете понять это из самой ошибки. Он просто утверждает, что вы возвращаете View (model) 'где' model' является 'List '. Представление ожидает «IEnumerable ». – CodeCaster

ответ

3

Сообщение об ошибке исключения довольно ясно. У вас есть представление или частичное, который сильно типизированных к:

@model IEnumerable<Onclickmuseum.Models.AuctionModel> 

, но ваши действия контроллера принят List<Onclickmuseum.Models.PackageModel> к нему. Убедитесь, что действие вашего контроллера переходит к представлению модели, которая имеет правильный тип.

В качестве альтернативы, если это часть частичного, которую вы визуализируете с основного вида с помощью вспомогательного помощника Html.Partial, убедитесь, что в дополнение к передаче частичного имени представления в качестве первого параметра вы также передаете модель как второй параметр, который имеет правильный тип. Если вы не передадите второй аргумент Html.Partial helper, тогда модель основного представления будет передана ему, что может быть не одного типа.

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()); 
     } 

    } 
} 
Смежные вопросы