Вывести Title родителя по внешнему ключу

234
07 марта 2018, 05:12

Доброго времени суток! Встал перед проблемой, есть таблица, 4 поля (Id,ParentId,Title,Created,Description) где ParentId является внешним ключом к самому Idшнику, как на клиентской стороне вывести в таблицу не ParentId а именно Title записи родителя, если таковой имеется?

public class MyClass
    {
        public int Id { get; set; }
        public int? ParentId { get; set; }
        public string Title { get; set; }
        public DateTime Created { get; set; }
        public string Description { get; set; }
    }

Контроллер:

public ActionResult Index(string sortOrder, string filter = null, int pageNum = 0)
        {
            ViewBag.filter = filter;
            ViewBag.sortOder = sortOrder;
            Repository repository = new Repository();

            ViewData["PageNum"] = pageNum;
            ViewData["ItemsCount"] = (repository.GetMyClass()).Count();
            ViewData["PageSize"] = pageSize;
            ViewData["filter"] = filter;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Name desc" : "";
            ViewBag.DateSortParm = sortOrder == "Date" ? "Date desc" : "Date";

            var records = (string.IsNullOrEmpty(filter)) ? ((from s in repository.GetMyClass() orderby s.Id select s).Skip(pageSize * pageNum - 1).Take(pageSize)) : ((from s in repository.GetMyClass() where s.Title.Contains(filter) orderby s.Id select s).Skip(pageSize * pageNum - 1).Take(pageSize));

            switch (sortOrder)
            {
                case "Name desc":
                    records = records.OrderByDescending(s => s.Title);
                    break;
                case "Date":
                    records = records.OrderBy(s => s.Created);
                    break;
                case "Date desc":
                    records = records.OrderByDescending(s => s.Created);
                    break;
                default:
                    records = records.OrderBy(s => s.Title);
                    break;
            }

            return View("_TableRecords", records.ToList());
        }

Собственно представление, как заполнить поля без родителей значениями null я догадался, а вот относительно Title не вышло, гугл не помог:

@foreach (MyClass one in Model)
            {
                <tr>
                    <th scope="col">@Html.DisplayFor(modelItem => one.Id) </th>
                    @if (one.ParentId == null)
                    {
                        <th scope="col">null</th>
                    }
                    else
                    {
                        <th scope="col"> @Html.DisplayFor(modelItem => one.ParentId) </th>
                    }
                    <th scope="col">@Html.DisplayFor(modelItem => one.Title) </th>
                    <th scope="col">@Html.DisplayFor(modelItem => one.Description) </th>
                    <th scope="col">@Html.DisplayFor(modelItem => one.Created) </th>

                </tr>
            }

Камнями сразу не кидайте. В asp.net mvc новичок

READ ALSO
NUnit Api запуск теста по имени

NUnit Api запуск теста по имени

Не смог найти в документации возможность запуска теста по имениПробовал запускать, используя TestFilter, но желаемого результат не получил

272
Проблема с закрытием окна

Проблема с закрытием окна

В приложении есть notifyIcon с contextmenu на нем, в нем пункты Свернуть и Выход

247
Не работает ToolTip для неактивных Controls

Не работает ToolTip для неактивных Controls

ЗдравствуйтеНе работает ToolTip для неактивных Controls в моём приложении

190
Разбор dll и добавление их в программу

Разбор dll и добавление их в программу

Есть программа, которая должна выполнять очень сложную функцию (прошу помочь в её реализации):

235