با سلام
مثال خوبی بود. متشکر.
من این کار رو می کردم. البته کمی سخت میشه...
یه کلاس پایه ای در نظر می گرفتم و کلا هر چیزی که در کل 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>
}