Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Value z DropDownListu do Controleru

C# .NET .NET (C# a Visual Basic) Value z DropDownListu do Controleru American English version English version

Aktivity (3)
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
Redaktor
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
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
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
Redaktor
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
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
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! For world peace Israel must be DESTROYED!
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! For world peace Israel must be DESTROYED!
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.