با سلام

مثال خوبی بود. متشکر.

من این کار رو می کردم. البته کمی سخت میشه...

یه کلاس پایه ای در نظر می گرفتم و کلا هر چیزی که در کل pageها ثابت بودند رو در این قرار میدادم.

بعد بقیه کلاس رو از این مشتق می گرفتم.

کلاس پایه:

public class ConstModels
{
public IEnumerable<MenuModel> MenuModels { set; get; }
public IEnumerable<FooterModel> FooterModels { set; get; }
}



public class HomePageViewModel : ConstModels
{
public IEnumerable<ManagerMessageModel> ManagerMessageModels { set; get; }
public IEnumerable<SliderModel> SliderModels { set; get; }
public IEnumerable<MainPageModel> MainPageModels { set; get; }
public IEnumerable<SiteNewsModel> SiteNewsModels { set; get; }
}


حالا واسه هر کدوم از کلاس های موجود در کلاس پایه یه PartialView می نوشتم و در Shared قرار می دادم.

مثل این:


@model DynamicWebsite.Models.ConstModels
@foreach (var item in Model.MenuModels)
{
<li>
...
</li>
}