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)
这现在有效......
您可以将集合直接传递给视图.
在视图中,您需要声明模型类型:
@model IEnumerable<CardInfo>
Run Code Online (Sandbox Code Playgroud)