Diskuze: Asp.net MVC - List a metoda httppost

C# .NET .NET (C# a Visual Basic) Asp.net MVC - List a metoda httppost American English version English version

Avatar
asoft
Člen
Avatar
asoft:

Ahoj.

  1. V Controlleri v metóde HttpGet Index() naplním DropDownList hodnotami a predám ich do

    ViewBag.Zazna­my_DropDownList

  2. Vo View mám naplnený DropDownList
@Html.DropDownListFor(model => model.Objednavka.Zaznamy, @ViewBag.Zaznamy_DropDownList as SelectList, htmlAttributes: new { @class = "form-control" })

+ mám tam nejaký TextBox.
3. Kliknem na <input type="submit" id="Zapis">
4. V Controlleri v metóde HttpPost Index() otestujem TextBox hodnotu a zistím, že je nesprávna.

Keďže ViewBag.Zazna­my_DropDownList = null,
musím znova naplniť ViewBag.Zazna­my_DropDownLis­t.
Ale na formulári mám viacero rôznych DropDownListov
a ich hodnoty sú stále také isté aké boli v metóde HttpGet Index().
Čiže ich znova musím ťahať zo servera.

Otázka: Ako postupovať tak, aby som hodnoty DropDownListov uložené v rôznych ViewBag
nemusel opäť načítavať.

  • Dá sa pri tom použiť Ajax ? a ak áno tak ako ?
  • Alebo je aj iná možnosť ?
 
Odpovědět 11. února 12:32
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na asoft
vajkuba1234:

Nevim, zda jsem to spravne pochopil, ale naplnit Viewbag dropdownlistem jsem musel jak v GET tak i POST variante action metody a zminit to i v bindingu (pokud tam mas jednotlive vlastnosti rozepsane). Tech par stringu nebude mit zase takove naroky na db, ne?

Nahoru Odpovědět 11. února 13:54
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
asoft
Člen
Avatar
Odpovídá na vajkuba1234
asoft:

Správne si to pochopil. Ale mám na forme asi 10 rôznych dropdownlistov a v niektorých je viac ako 1000 riadkov. A to už viditeľne trvá dlhšie, ako keby tam bolo napr. 50 riadkov. Viem, mohol by sa tam urobiť filter a ponúknuť len napr. prvých 50 riadkov a keby potrebovali ďalšie, tak by si ich museli vypýtať. Ale zákazník to tak chce.

 
Nahoru Odpovědět 11. února 14:46
Avatar
vajkuba1234
Člen
Avatar
vajkuba1234:

Koukni na toto:

http://stackoverflow.com/a/20961765
Nahoru Odpovědět 11. února 16:16
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na asoft
vajkuba1234:

Jak jsi to nakonec vyresil?

Nahoru Odpovědět 12. února 12:57
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
asoft
Člen
Avatar
asoft:

Zatiaľ nijako.
Ale pozeral som tento odkaz:
http://www.codeproject.com/…r-in-ASP-NET

Vyzerá to, že predal naplnený List z View do Controllera. A presne toto potrebujem.

 
Nahoru Odpovědět 12. února 16:01
Avatar
asoft
Člen
Avatar
asoft:

Nakoniec som to vyriešil cez jQuery a Ajax. Ide to perfektne.

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět  +1 6. března 11:46
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 7 zpráv z 7.