Как вернуть записи в представлении, основанном на данных выбранного элемента - PullRequest
1 голос
/ 07 апреля 2019

Я создаю приложение asp.net MVC для небольшого животновода.У меня есть база данных с одной таблицей с именем AvailableAnimals и имеет отношение один ко многим с таблицей MaleBreeder и таблицей FemaleBreeder.Я хочу создать страницу «братьев и сестер», используя идентификатор выбранного доступного животного и возможность просматривать все полные и половинные братья и сестры для этого животного.Это то, что я пока имею, но точка зрения братьев и сестер ничего не возвращает.

Ответ, я уверен, простой, о котором я просто не могу думать прямо сейчас.

КОНТРОЛЛЕР:

    public ActionResult Siblings(int? id)
    {

        AvailableAnimals availableAnimals = db.AvailableAnimals.Find(id);
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        else if (id != null)
        {

            var siblings = db.AvailableAnimals.Where(x => x.ACSireID == id.Value || x.ACDamID == id.Value);
            return View(siblings);
        }

        if (availableAnimals == null)
        {
            return HttpNotFound();
        }
        return View(availableAnimals);
    }

Мой вид в настоящее время настроен только для отображения братьев и сестер из простого цикла foreach.

Ответы [ 2 ]

1 голос
/ 17 апреля 2019

Я понял это .....

Он только вводил идентификатор этого животного и сравнивал идентификаторы плотины и отца с этим.вот что получилось ... ...... 1003 *

public ActionResult Siblings (int? id) {

    AvailableAnimals availableAnimals = db.AvailableAnimals.Find(id);
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
    else if (id != null)
    {

        var siblings = db.AvailableAnimals.Where(x => x.ACSireID == availableAnimals.ACSireID || x.ACDamID == availableAnimals.ACDamID).Include(x => x.FemaleBreederAnimals).Include(x => x.MaleBreederAnimals);
        return View(siblings);
    }

    if (availableAnimals == null)
    {
        return HttpNotFound();
    }
    return View(availableAnimals);
}

Спасибо всем за помощь!

0 голосов
/ 07 апреля 2019
public ActionResult Siblings(int? id)
{

    AvailableAnimals availableAnimals = db.AvailableAnimals.Find(id);
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
    else if (id != null)
    {

        List<AvailableAnimals> siblings = db.AvailableAnimals.Where(x => x.ACSireID == id || x.ACDamID == id).ToList();
        return View(siblings);
    }

    if (availableAnimals == null)
    {
        return HttpNotFound();
    }
    return View(availableAnimals);
}

Оформить заказ Ваша таблица AvailableAnimals должна быть рассчитана> 0, чтобы вы могли анализировать данные с помощью цикла foreach, и ваше представление выглядит следующим образом

@model List<SolutionName.ModelName.AvailableAnimals>
@foreach (var item in Model)
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...