• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

foreach razor mvc

Cloud VPS
0 głosów
198 wizyt
pytanie zadane 3 lipca 2019 w C# przez bartekUW Początkujący (360 p.)

Kontroller:
 

    public class SklepController : Controller
    {
        private readonly SklepData _context;
        public SklepController(SklepData context)
        {
            _context = context;
        }

        public async Task<IActionResult> Telefony(int? id)
        {
            ViewBag.Telefony = await _context.Telefony.ToListAsync();

            if (id == null)
            {
                var pierwszy = await _context.Telefony.FirstAsync();
                id = pierwszy.IdTelefonu;
            }
            return View(await _context.Telefony.Where(t=>t.IdTelefonu==id).ToListAsync());
        }
    }

Widok:

<div class="container">
    <div class="row">
        @foreach (var towar in Model)
        {
            <div class="col s12">
                <h2 class="header">@towar.Nazwa</h2>
                <div class="card horizontal">
                    <div class="card-image">
                        <img src="https://lorempixel.com/100/190/nature/6">
                    </div>
                    <div class="card-stacked">
                        <div class="card-content">
                            <p>I am a very simple card. I am good at containing small bits of information.</p>
                        </div>
                        <div class="card-action">
                            <a href="#">This is a link</a>
                        </div>
                    </div>
                </div>
            </div>
        }
    </div>
</div>

Dlaczego jak mam w bazie danych 10 towarów to wyswietla mi tylko jeden ?

1 odpowiedź

+1 głos
odpowiedź 4 lipca 2019 przez pulson666 Stary wyjadacz (12,560 p.)
bo pobierasz tylko jeden element

 

.Telefony.FirstAsync();
komentarz 4 lipca 2019 przez pulson666 Stary wyjadacz (12,560 p.)
Dodatkowo

 

Where(t=>t.IdTelefonu==id) robisz zapytanie where gdzie szuaksz jednego elementu (bo id jest uniakotwe) zatem tam powinno być first() lub firstordefoult(). Jak chcesz wszystkie elementy pobrać to zrób Where(t=> true)

Podobne pytania

+1 głos
0 odpowiedzi 279 wizyt
pytanie zadane 23 września 2022 w C# przez everstudybee Użytkownik (670 p.)
0 głosów
0 odpowiedzi 405 wizyt
0 głosów
1 odpowiedź 315 wizyt
pytanie zadane 2 marca 2020 w C# przez Moras Obywatel (1,620 p.)

93,463 zapytań

142,459 odpowiedzi

322,727 komentarzy

62,840 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...