C# 调试-将数据从控制器传递到视图
我有一个收藏:C# 调试-将数据从控制器传递到视图,c#,asp.net-mvc,asp.net-mvc-3,model-view-controller,C#,Asp.net Mvc,Asp.net Mvc 3,Model View Controller,我有一个收藏: var results = from result in xml.Descendants(ns + "GetQuoteResult") select new SpotPriceModel { Type = result.Element(ns + "Type").Value, Currency = result.Elemen
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; }
}
我为该系列创建了一个模型:
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; }
}
我正在尝试构建一个“spot”视图模型
但是当我编译时,我得到以下错误:
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>
@model IEnumerable
您没有在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
};
您尚未在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
};
尝试使用匿名类型,而不是使用匿名类型
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);
}
IEnumerable results=(来自xml.subjects(ns+“GetQuoteResult”)中的结果)
选择新模型
{
类型=结果.元素(ns+“类型”).值,
货币=结果元素(ns+“货币”)。值,
日期=结果元素(ns+“日期”)。值,
时间=结果元素(ns+时间“)。值,
速率=(十进制)结果元素(ns+“速率”),
Bid=(十进制)结果元素(ns+“Bid”),
BidTime=结果元素(ns+“BidTime”).值,
ExpTime=result.Element(ns+“ExpTime”).Value,
DisplayTime=result.Element(ns+“DisplayTime”).Value,
DisplayDate=结果.元素(ns+“DisplayDate”).值,
Ask=(十进制)result.Element(ns+“Ask”),
AskTime=result.Element(ns+“AskTime”).Value
}).AsEnumerable();
//var spot=results.First();
返回视图(结果);
}
不要使用匿名类型,请尝试
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);
}
IEnumerable results=(来自xml.subjects(ns+“GetQuoteResult”)中的结果)
选择新模型
{
类型=结果.元素(ns+“类型”).值,
货币=结果元素(ns+“货币”)。值,
日期=结果元素(ns+“日期”)。值,
时间=结果元素(ns+时间“)。值,
速率=(十进制)结果元素(ns+“速率”),
Bid=(十进制)结果元素(ns+“Bid”),
BidTime=结果元素(ns+“BidTime”).值,
ExpTime=result.Element(ns+“ExpTime”).Value,
DisplayTime=result.Element(ns+“DisplayTime”).Value,
DisplayDate=结果.元素(ns+“DisplayDate”).值,
Ask=(十进制)result.Element(ns+“Ask”),
AskTime=result.Element(ns+“AskTime”).Value
}).AsEnumerable();
//var spot=results.First();
返回视图(结果);
}
模型在视图中声明为什么类型?模型在视图中声明为什么类型?感谢您的回复。我现在有一个新问题。。。我已经更新了这个问题。太好了,它起作用了。我的第二个问题是,我构建了一个列表,而不是详细信息视图。感谢您的回复。我现在有一个新问题。。。我已经更新了这个问题。太好了,它起作用了。我的第二个问题是,我构建了一个列表,而不是详细信息视图。感谢您的回复。我现在有一个新问题。。。我已经更新了这个问题。太好了,它起作用了。我的第二个问题是,我构建了一个列表,而不是详细信息视图。感谢您的回复。我现在有一个新问题。。。我已经更新了这个问题。太好了,它起作用了。我的第二个问题是,我构建了一个列表,而不是一个细节视图。