PDA

View Full Version : سوال: ترکیب دو مدل در یک ویو مدل و مرتب شدن بر اساس تاریخ



sepehr.aliakbary
دوشنبه 21 مهر 1393, 19:44 عصر
سلام
من دو مدل مختلف دارم بع نام های Post و Album
می خوام توی صفحه‎ی اول سایتم ترکیبی از این دو مدل رو نمایش بدم بصورتی که بر اساس تاریخ درجشون مرتب بشن. اما وقتی از ViewModel استفاده می‎کنم حتما یکی از مدل ها باید بعد از اون یکی نمایش داده بشه. راهی هست که بشه این دو تا مدل رو ترکیب کرد؟

کد ViewModelم :
public class PostMainPage {
public IEnumerable<Post> AllPost { get; set; }
public IEnumerable<Album> AllAlbums { get; set; }

}
کد Controller :public ActionResult PostMainPage() {
var item = db.Posts.OrderByDescending(s => s.TimeToPublish).Take(4);
var item2 = db.Albums.OrderByDescending(s=>s.TimeToPublish).Take(4);

var model = new PostMainPage
{

AllPost = item,
AllAlbums = item2



};
return View(model);


}
و کد View:


@model Project.ViewModels.PostMainPage
@foreach (var item in Model.AllPost )
{..................}
@foreach(var item in Model.AllAlbums)
{..............}

parvizwpf
دوشنبه 21 مهر 1393, 20:16 عصر
بنظرم بهتره فیلدهایی رو برای ویومدل بسازید که دارای تمام اون چیزهایی که از هر دو میخواد باشه. نه اینکه دو تا جنریک

sepehr.aliakbary
دوشنبه 21 مهر 1393, 20:25 عصر
میشه بیشتر توضیح بدین؟
نحوه نوشتنش توی کنترلر و ویو چجوریه؟