MVC3 Razor>使模型IEnumerable,所以它可以在View中使用?

Ken*_*sen 2 ienumerable razor asp.net-mvc-3

我有这个型号:

namespace easyBooking.Models
{
    public class CardInfo
    {
        public string name { get; set; }
        public string adress { get; set; }
        public string zipcode { get; set; }
        public string city { get; set; }
        public string ccsID { get; set; }
        public string birthday { get; set; }
        public string nationalitet { get; set; }
        public string cardType { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我从一个函数填充并返回到控制器.问题是我无法将此模型交给我的视图,因为它没有实现IEnumerable ...相反,我必须像viewBag一样向viewBag添加信息:

var cardInfo = FunctionLib.cardCampingPas(myArray);
                        ViewData.Add("name", cardInfo.name);
                        ViewData.Add("adress", cardInfo.adress);
                        ViewData.Add("nationalitet", cardInfo.nationalitet);
                        ViewData.Add("ccsID", cardInfo.ccsID);
                        ViewData.Add("zipcode", cardInfo.zipcode);
                        ViewData.Add("city", cardInfo.city);
                        ViewData.Add("cardType", cardInfo.cardType);
                        return View("../Reservation/New", ViewData);
Run Code Online (Sandbox Code Playgroud)

这是一种愚蠢的,当我应该只能将cardInfo模型直接添加到View.

    var cardInfo = FunctionLib.cardCampingPas(myArray);
    return View("../Reservation/New", cardInfo);
Run Code Online (Sandbox Code Playgroud)

所以基本上我只需要将一堆字符串传递给视图.如何直接从我的视图访问我的模型CardInfo?

更新

@rene - 查看我添加@model声明的数据.我最后一次尝试时确实遇到了一些错误,但它一定是因为我尝试了foreach它或者某种东西......现在......只是没有错误,我不知道是否有任何东西传递给视图或如何获得数据.

@model easyBooking.Models.CardInfo
@{
    ViewBag.Title = "New";
}
<h2>Ny reservation</h2>
<p>Benyttet kort: @Model.cardType</p>
Run Code Online (Sandbox Code Playgroud)

这现在有效......

SLa*_*aks 7

您可以将集合直接传递给视图.

在视图中,您需要声明模型类型:

@model IEnumerable<CardInfo>
Run Code Online (Sandbox Code Playgroud)