2012-05-22 3 views
0

У меня есть коллекция:Debug - передать данные от контроллера для просмотра

  var results = 
      from result in xml.Descendants(ns + "GetQuoteResult") 
      select new SpotPriceModel 
      { 
       Type = result.Element(ns + "Type").Value, 
       Currency = result.Element(ns + "Currency").Value, 
       Date = result.Element(ns + "Date").Value, 
       Time = result.Element(ns + "Time").Value, 
       Rate = (decimal)result.Element(ns + "Rate"), 
       Bid = (decimal)result.Element(ns + "Bid"), 
       BidTime = result.Element(ns + "BidTime").Value, 
       ExpTime = result.Element(ns + "ExpTime").Value, 
       DisplayTime = result.Element(ns + "DisplayTime").Value, 
       DisplayDate = result.Element(ns + "DisplayDate").Value, 
       Ask = (decimal)result.Element(ns + "Ask"), 
       AskTime = result.Element(ns + "AskTime").Value 
      }; 

     var spot = results.First(); 

     return View(spot); 
    } 

И я создал модель этой коллекции:

public class SpotPriceModel 
{ 
    public string Type { get; set; } 
    public string Currency { get; set; } 
    public DateTime Date { get; set; } 
    public DateTime Time { get; set; } 
    public decimal Rate { get; set; } 
    public decimal Bid { get; set; } 
    public DateTime BidTime { get; set; } 
    public DateTime ExpTime { get; set; } 
    public DateTime DisplayTime { get; set; } 
    public DateTime DisplayDate { get; set; } 
    public decimal Ask { get; set; } 
    public DateTime AskTime { get; set; } 
} 

Я пытаюсь эшафот с видом на модель " место'.

Но когда я компилирую, я получаю следующее сообщение об ошибке:

The model item passed into the dictionary is of type 'BD.Models.SpotPriceModel', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[BD.Models.SpotPriceModel]'. 

мнение ожидает следующий тип модели:

@model IEnumerable<BD.Models.SpotPriceModel> 
+0

Какой тип модели объявлен в вашей точки зрения? – Jesse

ответ

2

Вы не указали тип в запросе Linq и поэтому создали вместо анонимного типа SpotPriceModel.

  select new SpotPriceModel 
     { 
      Type = result.Element(ns + "Type").Value, 
      Currency = result.Element(ns + "Currency").Value, 
      Date = result.Element(ns + "Date").Value, 
      Time = result.Element(ns + "Time").Value, 
      Rate = (decimal)result.Element(ns + "Rate"), 
      Bid = (decimal)result.Element(ns + "Bid"), 
      BidTime = result.Element(ns + "BidTime").Value, 
      ExpTime = result.Element(ns + "ExpTime").Value, 
      DisplayTime = result.Element(ns + "DisplayTime").Value, 
      DisplayDate = result.Element(ns + "DisplayDate").Value, 
      Ask = (decimal)result.Element(ns + "Ask"), 
      AskTime = result.Element(ns + "AskTime").Value 
     }; 
+0

Спасибо за ответ. У меня новая проблема сейчас ... Я обновил вопрос. – Gravy

+0

Perfect, It Works. Моя вторая проблема заключалась в том, что я подрисовал список вместо представления деталей. – Gravy

1

вместо использования анонимного типа попробуйте

IEnumerable<SpotPriceModel> results =(from result in xml.Descendants(ns + "GetQuoteResult") 
       select new SpotPriceModel  
      { 
       Type = result.Element(ns + "Type").Value, 
       Currency = result.Element(ns + "Currency").Value, 
       Date = result.Element(ns + "Date").Value, 
       Time = result.Element(ns + "Time").Value, 
       Rate = (decimal)result.Element(ns + "Rate"), 
       Bid = (decimal)result.Element(ns + "Bid"), 
       BidTime = result.Element(ns + "BidTime").Value, 
       ExpTime = result.Element(ns + "ExpTime").Value, 
       DisplayTime = result.Element(ns + "DisplayTime").Value, 
       DisplayDate = result.Element(ns + "DisplayDate").Value, 
       Ask = (decimal)result.Element(ns + "Ask"), 
       AskTime = result.Element(ns + "AskTime").Value 
      }).AsEnumerable();  
     //var spot = results.First();  
     return View(results); 
    } 
+0

Спасибо за ответ. У меня новая проблема сейчас ... Я обновил вопрос. – Gravy

+0

см. Редактировать ... – Rafay

+0

Perfect, It Works. Моя вторая проблема заключалась в том, что я подрисовал список вместо представления деталей. – Gravy

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