ASP MVC / Sharp-Architecture новичок - как действия получают сущности домена в качестве входных данных?

StackOverflow https://stackoverflow.com/questions/1418271

Вопрос

Я испытываю острую архитектуру (и ASP.NET MVC) для нового проекта после того, как некоторое время нахожусь на периферии этого сообщества, и я немного растерялся. После генерации стандартного шаблона сущности я создал класс Message, и я могу перечислять, создавать, редактировать и удалять их.

Я смотрю на действие Edit (Message) и просто не могу понять, как оно получает тип ввода Message. Вы нажимаете на btnSave, который отправляет форму в Сообщения / Изменить? Id = 1 , и что тогда происходит? Это соглашение определено где-то? Если да, то где?

Это было полезно?

Решение

Связыватель модели по умолчанию делает всю работу за вас. Он отражает действие контроллера, пытается создать новые типы объектов в аргументах, которые он нашел с помощью отражения, затем читает коллекцию форм и пытается выполнить некоторый анализ, чтобы сопоставить ключи коллекции форм с соответствующими значениями в обновленном объекте.

Я говорю о синтаксическом анализе, потому что можно представлять объекты, которые не являются полностью плоскими в представлениях, и механизм связывания модели по умолчанию часто может правильно их получить. Хотя я этого не сделал, так как у меня нет подходящего варианта использования, возможно, можно передать несколько объектов и заставить механизм связывания модели «получить» его. Если нет, то было бы не слишком ужасно написать такой, который мог бы.

Другие советы

Я думаю, что когда вы используете строго типизированное представление, среда автоматически new обнаруживает объект правильного типа и передает его в действие контроллера, проверяя все входные данные формы и используя немного размышлений, чтобы заполнить соответствующие свойства.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top