Прехвърляне на данни към контролера
По-рано, ще погледна как да се прехвърлят индивидуалните данни единични и модели на отделните обекти в методите на контролер за действие като параметри. Но в действителност, тя може да бъде дадена задача да премине на метода не е един елемент от тип Int или един обект от класа и няколко обекта. Нека да разгледаме възможните случаи.
събиране Transfer
Определете следната форма при представянето:
По този начин, ние имаме в HTML-маркиране, ще бъде четири елемента за въвеждане
И когато изпращането на формуляра, ще формират колекция от имена. състояща се от четири елемента. И в действието на контролера, ние можем да получите всички тези елементи:
Прехвърлянето на събирането на модела обекти
Да предположим, че ние минаваме масив от обекти с оглед на модел за оглед, например, модел книга:
За да се покаже обекти за редактиране на мнение, можем да използваме следната структура:
По този начин, ние ще генерира за всеки обект комплект полета за редактиране на свойствата му. И всичко това ще отиде в сървъра масива след натискане, където можем да получим по следния начин:
Прехвърляне на различни образци на обекти
В предишния случай, минахме колекция от предмети Book модел. Но ние може да има ситуация, в която ние трябва да се разграничат по някакъв начин прехвърлят обекти. Например, методът за контролер е както следва:
Ние използваме два отделни предмети върху книгите. Как можем да ги прехвърляте от погледа на контролера? Да предположим сега, че един обект се минава като представяне на модела, а другият е създадена в презентацията:
Един модел ние предаваме от контролера към изгледа:
Вторият модел - myBook ние създаваме на гледката. Всички полета за модела създаваме използване помощник @ Html.EditorFor (т => myBook). Обърнете внимание на името на модела - myBook. Тъй като ние очакваме, че този модел трябва да се предава като параметър на myBook на метод, той трябва да има точно същото име, а не произволно.
По този начин, ние можем да предадем на сървъра две различни обекти от един и същи модел.