Transferul de date către controlerul

Anterior, ne-am uitat la modul de a transfera date unitare individuale și modele de obiecte individuale în metodele de acțiune controler ca parametri. Dar, în realitate, aceasta poate fi o sarcina de a trece la metoda nu este un singur element de tip int sau un obiect al unei clase și mai multe obiecte. Să ne uităm la posibilele cazuri.







colectare de transfer

Definiți formularul de mai jos în prezentare:

Astfel, avem într-un HTML marcare va fi de patru elemente de intrare

Iar atunci când formularul este transmis, vom forma o colecție de nume. format din patru elemente. Și în acțiunea controler, putem obține toate aceste elemente:

Transferul de colectare a obiectelor de model

Să presupunem că treci o serie de obiecte pentru o vedere a unui model la o vizualizare, de exemplu, modelul de carte:

Pentru a afișa obiecte pentru editare în vedere, putem utiliza următoarea structură:







Astfel, vom genera pentru fiecare set câmpuri obiect pentru a edita proprietățile sale. Și toate acestea vor merge la matrice de server după apăsarea, în cazul în care putem obține în acest fel:

Transferul diverselor obiecte de model

În cazul precedent, am trecut o colecție de obiecte model de carte. Dar am putea avea o situație în care avem nevoie pentru a diferenția obiecte într-un fel transferate. De exemplu, metoda controler este după cum urmează:

Noi folosim două obiecte separate de carte. Cum putem să le transfera de la vedere la controler? Să presupunem acum că un obiect trecem ca o reprezentare a modelului, iar celălalt este creat în prezentare:

Un model pe care îl transfera de la operator la vizualizarea:

Al doilea model - mybook vom crea vizualizarea. Toate câmpurile pentru modelul pe care îl creați folosind helper @ Html.EditorFor (m => mybook). Notați numele modelului - mybook. Din moment ce ne așteptăm ca acest model să fie transmisă ca parametru la mybook metodei, acesta trebuie să aibă exact același nume, și nu arbitrară.

Astfel, putem trece pe la server două obiecte diferite ale aceluiași model.