Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
discount week 30 halloween
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:31.8.2018 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.8.2018 18:51
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Petr Kasnal
Petr Kasnal:31.8.2018 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.8.2018 19:56
Avatar
Odpovídá na Petr Kasnal
don.jarducius:31.8.2018 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
31.8.2018 22:31
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:31.8.2018 23:21

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

 
Nahoru Odpovědět
31.8.2018 23:21
Avatar
don.jarducius:1.9.2018 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.9.2018 9:46
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:1.9.2018 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.9.2018 10:38
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Petr Kasnal
don.jarducius:1.9.2018 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.9.2018 10:49
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:1.9.2018 10:55

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

 
Nahoru Odpovědět
1.9.2018 10:55
Avatar
Odpovídá na Petr Kasnal
don.jarducius:2.9.2018 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
2.9.2018 11:05
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:3.9.2018 8:03

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

 
Nahoru Odpovědět
3.9.2018 8:03
Avatar
don.jarducius:3.9.2018 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.9.2018 8:09
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na don.jarducius
Petr Kasnal:5.9.2018 21:57

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

 
Nahoru Odpovědět
5.9.2018 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.