<a href="" class="current-link-menu">@group.GroupTitle</a>
@if (Model.Any(g => g.ParentId == group.GroupId))
{
<ul class="sub-menu is-mega-menu mega-menu-level-two">
@foreach (var sub in Model.Where(g => g.ParentId == group.GroupId))
{
<li class="menu-mega-item menu-item-type-mega-menu">
<a href="#" class="mega-menu-link">@sub.GroupTitle</a>
@if (Model.Any(g => g.ParentId != null))
{
@foreach (var subS in Model.Where(g => g.ParentId == group.GroupId))
{
<li class="menu-mega-item-three">
<a href="#">@subS.GroupTitle</a>
</li>
}
}
</li>
}
</ul>
}
</li>
}
</ul>
[کلیک و کشیدن برای جابجایی]
سلام میخوام زیر گروه های بیان؟؟؟ اینو از sqlserver میگیرم
میخوام اپل زیر منوی موبایل بیاد؟؟؟
چطوری باید حلقه بزنم؟؟؟
من میخوام به جای موبایل== اپل بیاد؟؟؟
کسی نیست؟؟؟؟؟؟؟؟؟؟؟کمکم کنه؟؟
"موبایل" و "اپل" جفتشون توی یک level هستن. یعنی جفتشون منوی اصلی هستن.
برای ایحاد زیر منو دو راه دارید:
1- باید یک جدول دیگه برای زیر منوها ایجاد کنید و یک فیلد به عنوان کلید خارجی بزاری براش( که این فیلد میشه آیدی منوی اصلی)
2- توی همین جدول یک فیلد دیگه بزاری که مشخص کنه آیا این آیتم منوی اصلی هست یا زیر منو. و اگه زیرمنو بود، آیدی منوی اصلیش چیه
شما توی جدول خودتون منوی اصلی و زیر منو رو مشخص کردید. یعنی 2 سطح از منو رو مشخص کردید. سطح سوم که همون "اپل" هست رو نمیتونید توی این ساختار نمایش بدید. یه جدول دیگه ایجاد کنید برای نگهداری سطح سوم.
public class submenu
{
[Key]
public int submenuid {get; set;}
public string submenuName {get; set;}
public int groupId {get; set;}
[ForeignKey("groupId")]
public virtual GroupTbl grp {get; set;}
}
جدول بالا برای نگهداری سطح سوم میتونید استفاده کنید. فیلد groupId هم کلید خارجی در جدول GroupTbl هست. حالا موقع استفاده کافیه جدول اول و جدول دوم رو با هم Join کنید و اطلاعات رو نمایش بدید.
خب در ابتدا یک ویومدل بسازید که بتونید همه منوها و زیرمنوها رو توش نگهداری کنید.
public class MenuViewModel
{
public int GroupId {get; set;}
public string GroupTitle {get; set;}
public bool IsDelete {get; set;}
public int ParentId {get; set;}
public List<subMentTbl> submenu {get; set;}
}
حالا کافیه کوئری خودتون رو بنویسید و لیست منوها و همه زیرمنوها رو داشته باشید.
var query = from g in _context.GroupTbl select new MenuViewMode
{
GroupID = g.GroupId,
GroupTitle = g.GroupTitle,
IsDelete = g.IsDelete,
ParentId = g.ParentId,
subMenu = _context.submenuTbl.where(s=>s.GroupId == g.GroupId).ToList()
};
return query.ToList();
الان شما همه منوها و زیر منوها رو دارید و به راحتی میتونید توی View نمایش بدید.
@foreach (var item in Model)
{
if (Model.ParentID == null)
{
<ul>سطح اول</ul>
}
else
{
<ul>
سطح دوم
if (item.subMenu.Count <> 0)
{
<ul>سطح سوم</ul>
}
</ul>
}
}
الان چطور میتونم که داخل همین جدول اضافه کنم
که اگه داشت؟؟؟
من این اولین باره با code first میزنم اگه میشه بیشتر توضیح بدید؟؟؟؟
ممنون میشم؟؟؟
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
79
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
111
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
216
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
117
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
397
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
568
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
79
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
111
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|