NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
ratpile
Člen
Avatar
ratpile:16.10.2016 21:08

Ahoj, data do DropDownListu dostane z backendu v pořádku, problém mám když chci vybranou hodnotu zpátky.

 public ActionResult SortAllGames( string genreDrop)

        {
            try
            {
                if (!String.IsNullOrEmpty(genreDrop))
                {


                    var getSortedGame2 = _entitiesUser.Games
                        .Where(f => f.Genre.Name == getTheGenre).ToList();
return View(getSortedGame2);

případně jsem se pokoušel o něco jako

var getTheGenre = Convert.ToString(formCollection["genreDrop"]);

dle dubugu ale dropdownlist vraci hodnotu "name" pro každou value..

díky za každou radu

 
Odpovědět
16.10.2016 21:08
Avatar
Marian Benčat:16.10.2016 22:13

Spise nam ukaž HTML a POST toho formu..

Nahoru Odpovědět
16.10.2016 22:13
Totalitní admini..
Avatar
ratpile
Člen
Avatar
ratpile:16.10.2016 22:14
@using (Html.BeginForm("SortAllGames", "User"))
{


                <div class="form-group">
                @Html.DropDownList("genreDrop", (SelectList)ViewBag.listGenres, "-- Žánr --", htmlAttributes: new { @class = "form-control" })

                </div>

                <button type="submit" name="SortAllGames"><span class="glyphicon glyphicon-search"></span></button>

}
 
Nahoru Odpovědět
16.10.2016 22:14
Avatar
ratpile
Člen
Avatar
Odpovídá na Marian Benčat
ratpile:16.10.2016 22:21
@using (Html.BeginForm("SortAllGames", "User"))
{


                <div class="form-group">
                @Html.DropDownList("genreDrop", (SelectList)ViewBag.listGenres, "-- Žánr --", htmlAttributes: new { @class = "form-control" })

                </div>

                <button type="submit" name="SortAllGames"><span class="glyphicon glyphicon-search"></span></button>

}
 
Nahoru Odpovědět
16.10.2016 22:21
Avatar
Marian Benčat:16.10.2016 22:53

To listGenres musi byt typu List<SelectLis­tItem> .. hlavni je to SelectListItem.. Máš to tak?

Nahoru Odpovědět
16.10.2016 22:53
Totalitní admini..
Avatar
ratpile
Člen
Avatar
Odpovídá na Marian Benčat
ratpile:18.10.2016 20:58

Snažím se snažím, ale výsledku se nedobírám, problém je asi ve "všem"..

dropdownlist nechce příjmout nic typu selectListItem, žere to jen selectList

pokuším se teda o něco ala:

ViewBag.listGenres = new SelectList(new List<SelectListItem>(selectListGenres));

jenže tam mi následne dropDownList vrací jen "System.Mvc.Se­lectListItem" namísto požadavaných dat

Editováno 18.10.2016 21:00
 
Nahoru Odpovědět
18.10.2016 20:58
Avatar
ratpile
Člen
Avatar
Odpovídá na Marian Benčat
ratpile:18.10.2016 21:33
<div class="form-group">
                        @Html.DropDownList("genreDrop", (IEnumerable<SelectListItem>)ViewBag.listGenres, "-- Žánr --", htmlAttributes: new { @class = "form-control" })

tohle taky bez odezvy

 
Nahoru Odpovědět
18.10.2016 21:33
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na ratpile
vajkuba1234:18.10.2016 23:51

Nevim jak to resis ty, ale ja kdyz vytahuji z DB (konkretne Edit Get) tak:

ViewBag.IdCategory = new SelectList(db.Categories, "IdCategory", "NameCategory", information.IdCategory);

Edit POST (ukladani do DB):

ViewBag.IdCategory = new SelectList(db.Categories, "IdCategory", "NameCategory", viewModel.IdCategory);

Musis oboji samozrejme. A tady je me Edit View:

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

Vse funguje perfektne.

Editováno 18.10.2016 23:52
Nahoru Odpovědět
18.10.2016 23:51
No hope, no future, JUST WAR!
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na ratpile
vajkuba1234:23.10.2016 16:57

Pomohlo?

Nahoru Odpovědět
23.10.2016 16:57
No hope, no future, JUST WAR!
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 9 zpráv z 9.