Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调试-将数据从控制器传递到视图_C#_Asp.net Mvc_Asp.net Mvc 3_Model View Controller - Fatal编程技术网

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();
返回视图(结果);
}

模型在视图中声明为什么类型?模型在视图中声明为什么类型?感谢您的回复。我现在有一个新问题。。。我已经更新了这个问题。太好了,它起作用了。我的第二个问题是,我构建了一个列表,而不是详细信息视图。感谢您的回复。我现在有一个新问题。。。我已经更新了这个问题。太好了,它起作用了。我的第二个问题是,我构建了一个列表,而不是详细信息视图。感谢您的回复。我现在有一个新问题。。。我已经更新了这个问题。太好了,它起作用了。我的第二个问题是,我构建了一个列表,而不是详细信息视图。感谢您的回复。我现在有一个新问题。。。我已经更新了这个问题。太好了,它起作用了。我的第二个问题是,我构建了一个列表,而不是一个细节视图。