我尝试展示具有GroupId
和SubGroupId
的产品。我使用foreach来显示每个具有subGroup
的{{1}}。
到目前为止,它可以正常工作,当我想在foreach中显示将GroupId = ParentId
作为subGroupId的产品时,它不起作用。
这是我的代码:
组模型类:
SubgroupId
产品型号类别:
[Key]
public int CompanyProductGroupId { get; set; }
[Display(Name = "عنوان گروه")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string CompanyProductGroupTitle { get; set; }
[Display(Name = "توضیح مختصر")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string CompanyProductGroupDes { get; set; }
[Display(Name = "حذف شده ؟")]
public bool IsDelete { get; set; }
[Display(Name = "تصویر")]
public string CompanyProductGroupPic { get; set; }
[Display(Name = "گروه اصلی")]
public int? ParentId { get; set; }
[ForeignKey("ParentId")]
public List<CompanyProductGroup> CourseGroups { get; set; }
[InverseProperty("CompanyProductGroup")]
public List<CompanyProduct> CompanyProduct { get; set; }
[InverseProperty("Group")]
public List<CompanyProduct> SubGroup { get; set; }
服务:
[Key]
public int CompanyProductId { get; set; }
[Display(Name = "گروه اصلی محصول")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public int CompanyProductGroupId { get; set; }
[Display(Name = "گروه فرعی محصول")]
public int? SubGroupId { get; set; }
[Display(Name = "عنوان محصول")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string CompanyProductTitle { get; set; }
[Display(Name = "تصویر محصول")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string CompanyProductPic { get; set; }
[Display(Name = "تصویر پس زمینه محصول")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string CompanyProductBackPic { get; set; }
[Display(Name = "تصویر صفحه گروه محصول")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string CompanyProducGtPic { get; set; }
[Display(Name = "متن آدرس محصول")]
[MaxLength(60, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string ProductGroupUrl { get; set; }
[Display(Name = "توضیحات محصول")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string CompanyProductText { get; set; }
[Display(Name = "تاریخ ارسال محصول")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string CompanyProductSendDate { get; set; }
[Display(Name = "تاریخ بروزرسانی محصول")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string CompanyProductModifiedDate { get; set; }
[Display(Name = "صاحب محصول")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string CompanyProductOwner { get; set; }
[Display(Name = "نویسنده")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string CompanyProductWriter { get; set; }
[Display(Name = "عنوان گوگل")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string CompanyProductgoogleTitle { get; set; }
[Display(Name = "توضیحات گوگل")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string CompanyProductMetaGoogle { get; set; }
[Display(Name = "کلمات کلیدی")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string CompanyProductKeywords { get; set; }
[Display(Name = "توضیح مختر(200 کاراکتر)")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string CompanyProductShortDesc { get; set; }
[Display(Name = "تعداد بازدید")]
public int CompanyProductViewCount { get; set; }
#region Relations
[ForeignKey("CompanyProductGroupId")]
public CompanyProductGroup CompanyProductGroup { get; set; }
[ForeignKey("SubGroupId")]
public CompanyProductGroup Group { get; set; }
#endregion
控制器:
public List<CompanyProductGroup> GetPorductGroupById(int id)
{
return _context.CompanyProductGroups.Include(d => d.CompanyProduct)
.Where(c => c.CompanyProductGroupId == id && c.IsDelete == false || c.ParentId == id).ToList();
}
有问题的视图:
[Route("group/{title}/{id}")]
public IActionResult Group(string title, int id)
{
ViewBag.PageId = id;
return View(_companyService.GetPorductGroupById(id));
}
要点是没有错误:(
当我将foreach与主组ID结合使用时,它的代码如下:
@foreach (var head in Model.Where(c => c.CompanyProductGroupId == ViewBag.PageId && c.ParentId == null))
{
<div class="section-title2">
<h2>@head.CompanyProductGroupTitle</h2>
<br />
<p>@head.CompanyProductGroupDes </p>
</div>
@foreach (var gr in head.CompanyProduct.Where(d => d.CompanyProductGroupId == head.CompanyProductGroupId)){<div class="wid-50">
<img src="~/companyproduct/image/gr.CompanyProducGtPic" />
<div class="wid-50-content">
<h2>gr.CompanyProductTitle</h2>
<p>
gr.CompanyProductShortDesc
</p>
<a href="#">بیشتر</a>
</div>
</div>
}
}