Diskuze: asp.net error, data v drop down listu z cizí tabulky

C# .NET .NET (C# a Visual Basic) asp.net error, data v drop down listu z cizí tabulky American English version English version

Aktivity (1)
Avatar
ratpile
Člen
Avatar
ratpile:31.3.2016 21:45

Ahoj

vytvářit Create view pro zadávací formulář, zatim jednoduše :

public ActionResult Create(Games games)
       {
           if (ModelState.IsValid)
           {

               _entities.Games.Add(games);
               _entities.SaveChanges();
               return RedirectToAction("Index");
           }


           return View(games);
       }

view vypadá takto:

<div class="form-group">
          @Html.LabelFor(model => model.Genre_Id, "Genre_Id", htmlAttributes: new { @class = "control-label col-md-2" })
          <div class="col-md-10">
              @Html.DropDownList("Genre_Id", null, htmlAttributes: new { @class = "form-control" })

              @Html.ValidationMessageFor(model => model.Genre_Id, "", new { @class = "text-danger" })
          </div>

Genre_Id je jinak cizím klíčem pro samostatnou tabulku žánrů

výsledkem je error:

here is no ViewData item of type 'IEnumerable<Se­lectListItem>' that has the key 'Genre_Id'.

  • @Html.DropDow­nList("Genre_Id", null, htmlAttributes: new { @class = "form-control" })*

netuším co s tím nebo jsem uplně blbej

díky moc za každou radu

Editováno 31.3.2016 21:46
 
Odpovědět 31.3.2016 21:45
Avatar
ratpile
Člen
Avatar
ratpile:31.3.2016 22:04

respektive.. dle mého mrzkého soudu je chyba v tom že dropdownlist požaduje data ve formu nějaké kolekce (listu), dájí se mu nějak předat data, která nejsou v listu ale pouze v sql/entity tabulce?

 
Nahoru Odpovědět 31.3.2016 22:04
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na ratpile
vajkuba1234:1.4.2016 0:51

Ja jsem toto resil take, a to zpusobem, ze v GET metode jsem hodnoty dropdownu predal pomoci ViewBagu, a to nasledovne:

ViewBag.Genres = new SelectList(db.Zanry, "IdZanr", "NazevZanr");

Ve view jsem potom pridal cizi klic, pres ktery se nactou udaje z druhe tabulky...

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 1.4.2016 0:51
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
ratpile
Člen
Avatar
Odpovídá na vajkuba1234
ratpile:1.4.2016 22:36

Super, funguje. Díky moc !

 
Nahoru Odpovědět  +1 1.4.2016 22:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.