Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: Správné vytvoření DropDownListu

C# .NET .NET (C# a Visual Basic) Správné vytvoření DropDownListu American English version English version

Aktivity (3)
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:31. srpna 18:51

Ahoj snažím se v MVC aplikaci vytvořit DropDownList, ale mám problém s vybraným prvek, který bych chtěl mít podle příchozího ID. Teď je tam ta 20 jen pro ukázku. Furt se mi tam ukazuje ten první prvek přitom prvek s ID 20 je druhý. Zkoušel jsem to tkhle, ale dělal jsem to i controlleru a označí se mi správny prvek, ale už se mi nevybere. Fakt nevím co s tím. :/ Předem moc děkuji za každou radu.

Zkusil jsem:

@Html.DropDownListFor(x => x.ID_Category, new SelectList(Model.ParentCategories, "ID", "Name", Model.ParentCategories.FirstOrDefault(x => x.ID == 20)), new { id = "category-dropdown" })

Chci docílit: Správného použití.

 
Odpovědět 31. srpna 18:51
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Petr Kasnal
Petr Kasnal:31. srpna 19:56

Ještě doplním:

@Html.DropDownListFor(x => x.ID_Category, new SelectList(Model.ParentCategories, "ID", "Name"), Model.MainParentCategory.Name, new { id = "category-dropdown" })

Todle funguje, ale ten item je tam dvakrát....

 
Nahoru Odpovědět 31. srpna 19:56
Avatar
Odpovídá na Petr Kasnal
don.jarducius:31. srpna 22:31

Ahoj, je to tím, že mu nedáváš správnou vybranou hodnotu...
Musíš mu dát ID... což máš jako value … ne text pro uživatele...
viz. https://msdn.microsoft.com/…vs.108).aspx

@Html.DropDownListFor(x => x.ID_Category, new SelectList(Model.ParentCategories, "ID", "Name"), Model.MainParentCategory.ID, new { id = "category-dropdown" })
 
Nahoru Odpovědět  +1 31. srpna 22:31
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:31. srpna 23:21

Děkuji za odpověď, ale tohle taky bohužel nefunguje.

 
Nahoru Odpovědět 31. srpna 23:21
Avatar
don.jarducius:1. září 9:46

V tom případě namísto new SelectList(…)
Zkus

@Html.DropDownListFor(x => x.ID_Category, Model.ParentCategories.Select(x=>new SelectListItem() { Value = x.ID, Text = x.Name, Selected = x.ID == 20 }), new { id = "category-dropdown" })
 
Nahoru Odpovědět  +1 1. září 9:46
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:1. září 10:38

Moc ti děkuji za odpověď. Todle funguje stejně jako ten druhý kód jak jsem přidal. Je to tam dvakrát. Viz. příloha

 
Nahoru Odpovědět 1. září 10:38
Avatar
Odpovídá na Petr Kasnal
don.jarducius:1. září 10:49

V tom případě to musí i být v datech 2x … zkontroluj si, co ti přifrčí v Model.ParentCa­tegories, vypadá to totiž, že hledáš chybu na jiném místě...

 
Nahoru Odpovědět  +1 1. září 10:49
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:1. září 10:55

Chybu v datech nemám... Vrací mi to správně... V html to vypadá tkhle

 
Nahoru Odpovědět 1. září 10:55
Avatar
Odpovídá na Petr Kasnal
don.jarducius:2. září 11:05

Co je v tom případě 2x a špatně? oba obrázky co jsi poslal ukazují totožná data/html.
Co se zkusit "přilepit" debuggerem a podívat se, co přesně ti přichází za data na straně serveru?
Zkontroluj ID_Category i Model.ParentCa­tegories

Jestli vidím a chápu dobře co chceš, dostává se ti tam navíc prvek

<option value>Nabídka</option>
 
Nahoru Odpovědět  +1 2. září 11:05
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:3. září 8:03

Hele zkontroloval jsem to a chodí mi to normálně.... Tak fakt nevím...

 
Nahoru Odpovědět 3. září 8:03
Avatar
don.jarducius:3. září 8:09

Je možný, že ti ten prvek navíc přidává něco na straně clienta… když zkusíš projít odpověď ze serveru než se do toho pustí javascript, je tam ten prvek taky?

 
Nahoru Odpovědět 3. září 8:09
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:5. září 21:57

Vrátí to 3 prvky viz. ten screen a na straně clienta to nic neupraví :(

 
Nahoru Odpovědět 5. září 21:57
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 12 zpráv z 12.