我有这个型号:
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; }
}
}
我从一个函数填充并返回到控制器。问题是我无法将此模型交给我的视图,因为它没有实现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);
这是一种愚蠢的,当我应该只能将cardInfo模型直接添加到View。
var cardInfo = FunctionLib.cardCampingPas(myArray);
return View("../Reservation/New", cardInfo);
所以基本上我只需要将一堆字符串传递给视图。如何从我的视角直接访问我的模型CardInfo?
更新
@rene - 查看我添加@model声明的数据。我最后一次尝试时确实遇到了一些错误,但它一定是因为我试图foreach
它或者其他东西......现在......只是没有错误,我不知道是否有任何东西传递到视图或者如何获取数据。
@model easyBooking.Models.CardInfo
@{
ViewBag.Title = "New";
}
<h2>Ny reservation</h2>
<p>Benyttet kort: @Model.cardType</p>
这现在有效......
答案 0 :(得分:7)
您可以将收藏品直接传递给视图。
在视图中,您需要声明模型类型:
@model IEnumerable<CardInfo>