PDA

View Full Version : سوال: خطای null در هنگام خواندن اطلاعات به صورت درختی



سعید کشاورز
شنبه 09 تیر 1397, 10:47 صبح
سلام دوستان..
من یه دسته بندی دارم که به صورت Parent Child هستی..( درختی)
حالا وقتی میخام این دسته بندی هارو نمایش بدم و مثلا نام دسته والد رو نشون میدم بهم ارور Null میده.. چون ممکنه یه سری دسته بندی ها به عنوان ریشه اصلی باشن و والدی نداشته باشن.. حتی توی کوئری زدن Includ هم میکنم.. چجوری میشه حلش کرد این موضوع رو؟

mr.sirwan
شنبه 09 تیر 1397, 11:19 صبح
کدتون رو قرار بدین لطفا تا بتونیم بهتر راهنمایی کنیم، ولی شما قبل از نمایش نام والد، اول اون فیلد رو چک کنین که ایا نال هست یا خیر، خب اگر نال نبود یعنی والد داره در غیر اینصورت یعنی خودش ریشه اصلیه و والدی نداره و نیازی به نمایش والد برای اون نیست

سعید کشاورز
شنبه 09 تیر 1397, 11:41 صبح
ممنون از پاسختون
کد هایی که نوشتم اینه:

public ActionResult ReadData([DataSourceRequest]DataSourceRequest request)
{
var lstProfileCategory = _profileCategoryService.GetAll().OrderByDescending (x => x.Id);


var lstModel = lstProfileCategory.Select(x => new ProfileCategoryAdminIndexViewModel
{
Name = x.Name,
Id = x.Id,
IsPublished = x.IsPublished,
ProfileCategoryName = x.Parent.Name,
});


return Json(lstModel.ToDataSourceResult(request));


}

اون متد GettAll هم به صورت زیر دسته بندی هارو لود میکنه بدون مشکل:

public List<ProfileCategory> GetAll()
{
return _profileCategoryRepository.GetAll().Include(x => x.Parent).ToList();
}


خالا مشکل اینه یه سریا والد ندارند و Null میشن... توی اون قسمت از کد اول که داریم ViewModel رو پر میکنم این مشکل پیش میاد...

mr.sirwan
شنبه 09 تیر 1397, 12:01 عصر
خب شما مقداردهی فیلد ProfileCategoryName رو به این شکل انجام بده:
ProfileCategoryName = x.Parent != null ? x.Parent.Name : "والد ندارد"