Diskuze: ASP.NET MVC - předání parametru
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 16 zpráv z 16.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
nejsem velky expert na MVC ale delam s WebApi a tam si nemuzes poslat 2 parametry pres post. Musis si udelat wrapper tridu a zabalit do ni ty 2 pozadavky.
Mohl bys to prosím trošku upřesnit, nebo uvést nějaký příklad, abych to pochopil?
[Authorize]
[HttpPost]
public ActionResult Index(int mesic, int rok)
{}
na
class DateWrapper
{
public int mesic {get;set;}
public int rok {get;set;}
}
[Authorize]
[HttpPost]
public ActionResult Index(DateWrapper date)
{}
Podle mě se to poslat dá, ale nevím, jak udělat, aby kontroler věděl, z čeho má ty hodnoty přečíst...
Možno to bude blbosť, ale skús tie premenné nazvať rovnako ako dropdown a text box (vybrMesíc a vybrRok).
vsude na netu pisou ze normalne nejde poslat vic parametru postem a musi se to nejak epicky hackovat aby to slo. takze to wrapni
Tak jsem to zkusil, chybu to nehází, ale asi nevím jak nacpat hodnoty (value z DropDownListu a text z TextBoxu) do těch proměnných, protože mi to nic nenajde...
Ja som vo svojom minulom projekte cez post posielal objekt a ešte aj jeden int, a v pohode mi všetko šlapalo.
jako ty zdroje se na netu lisi nekdo rika ze to de nekdo ze to nejde ale nejak nevidim jak mas definovany ten formular v tom html? na netu si tam vsichni nastavuji adresu a model ktery budou posilat do backendu.
Není problém poslat více hodnot do kontroleru, problém bude spíš s názvy, případně s datovými typy těch parametrů. Názvy parametrů musí být stejné jako názvy těch komponent ve formuláři, což je v tvém případě "vybrMesíc" a "vybrRok" (pozor na tu diakritiku, tu bych tam rozhodně nedával). Co se týká datových typů, tak pokud textbox "vybrRok" není typu "number", může obsahovat libovolný řetězec a parametr v metodě Index by měl být spíše typu string.
Jak prosté... Říkal jsem si, že by to mělo nějak takhle fungovat, jen jsem si neuvědomil ty rozdíly mezi názvem proměnných a názvy komponent. Ta diakritika se tam dostala omylem při jednom z mnoha zoufalých pokusů o rozchození... Díííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííky.
Ako keby som predtým nenapísal, aby si skúsil rovnaké mená
Takhle je to skutecne od WebAPI2, kde lze v body mapovat pouze jednu hodnotu, zbytek musi byt v URI. Spravne by se to skutecne melo zabalit do entity.
U ASP MVC se vsak da mapovat vice hodnot bez problemu (dokonce jde pridat advanced zpusob bindovani pomoci model binderu).
Jak uz napsal JOF, je dulezite aby se jmenovaly stejne -> name musi odpovidat nazvu property.. pak se zkousi jestli je mozne hodnotu namapovat na konkretni datovy typ.
Zobrazeno 16 zpráv z 16.