我有一个班级
public class Offer
{
public Int32 OfferId { get; set; }
public string OfferTitle { get; set; }
public string OfferDescription { get; set; }
}
和另一个班级
public class OfferLocationViewModel
{
public Offer Offer { get; set; }
public Int32 InTotalBranch { get; set; }
public Int32 BusinessTotalLocation { get; set; }
}
现在我的控制器中有以下
public ActionResult PresentOffers(Guid id)
{
DateTime todaysDate=Utility.getCurrentDateTime();
var rOffers=(from k in dc.GetPresentOffers(id,todaysDate)
select new OfferLocationViewModel()
{
Offer. //I dont get anything here..
}).ToList();
return PartialView();
}
现在问题出在我的控制器中,我无法访问'Offer'类的任何属性!! 我想,因为我正在创建一个新的OfferLocationViewModel(),并且它有一个类型为'Offer'的属性,我将能够访问这些属性。但我不能。
有谁能告诉我如何做到这一点?
答案 0 :(得分:2)
在像new OfferLocationViewModel { ... }
这样的类初始化程序中,您只能设置直接属性,即'Offer = new Offer()'。
您无法通过初始化程序访问包含类型的属性。
虽然您可以将视图模型的Offer
初始化为具有以下给定属性的新商品:
var rOffers = (from k in dc.GetPresentOffers(id,todaysDate)
select new OfferLocationViewModel {
Offer = new Offer {
OfferId = ...,
OfferTitle = ...,
OfferDescription = ...
}
}).ToList();