我很难尝试解决这个问题,如何创建一个带界面的viewmodel,
我一直试图在网上跟几个例子,
和
http://geekswithblogs.net/michelotti/archive/2009/10/25/asp.net-mvc-view-model-patterns.aspx
但是我无法让它工作,任何帮助都会受到赞赏,我的代码到目前为止。
public class TravelGuideViewModel
{
private readonly IGetCountryDetails _IGCD;
public DisplayCountryDetails displayCountryDetails { get; set; }
public TravelGuideViewModel(IGetCountryDetails IGCD)
{
_IGCD = IGCD;
}
//Trying to get DisplayCountryDetails here, but everything i try does not work
}
======================更新===============
public class TravelGuideViewModel
{
private readonly IGetCountryDetails _IGCD;
public DisplayCountryDetails displayCountryDetails { get; set; }
public TravelGuideViewModel(IGetCountryDetails IGCD)
{
_IGCD = IGCD;
}
public TravelGuideViewModel Asia()
{
var countries = _IGCD.DisplayCountriesOfTheWorldDetails()
.Where(a => a.strCountryContinent == "Asia").FirstOrDefault();
return countries.strCountry.AsEnumerable(); << Does not work
}
}
答案 0 :(得分:0)
你的.AsEnumerable()不起作用的原因是因为函数的返回类型是TravelGuideViewModel而不是Enumerable。
尝试类似......
public TravelGuideViewModel Asia()
{
var countries = _IGCD.DisplayCountriesOfTheWorldDetails()
.Where(a =>a.strCountryContinent == "Asia).FirstOrDefault();
return new TravelGuideViewModel(countries);
}
为了使View可以访问某些内容,ViewModel必须包含指向它的指针。可以将ViewModel视为您的View尝试饮用的杯子。不是饮料本身。很方便,但如果你不填充某些东西,那就不好了。