У меня есть веб-приложение, которое разрабатывается с использованием C# MVC4 и jQuery/AJAX. То, что я хотел бы сделать, это показать пользователю, где они могут обновлять определенные свойства конкретной модели, не отправляя всю форму. Например, один из объектов сущности из базы данных является классом «Задача». Этот класс имеет несколько свойств (TaskName, TaskDescription и т. Д.). Идея состоит в том, чтобы отобразить представление, в котором перечислены эти свойства, и пользователь может щелкнуть каждый по отдельности, показывая текстовое поле, заполненное значением свойства, которое они могут редактировать. Я хочу иметь возможность сохранять каждое редактирование по требованию (используя кнопку рядом с каждым текстовым полем) по мере необходимости и включать проверку в каждое поле. Как я смогу структурировать контроллер/viewModel (s), чтобы разместить это? Будет ли у меня несколько функций контроллера для каждого поля? Одна функция «edit», чтобы принять всю модель?Использование MVC4 - лучшая практика для обновления элементов модели
ответ
В действительности объем данных в поданной форме очень мал по сравнению с большинством других компонентов веб-сайта, поэтому нет никакой проблемы при представлении «всей формы». Вы можете отправить всю свою модель обратно на свое действие после каждого обновления (у вас может быть несколько кнопок отправки для одной и той же формы) и одно действие контроллера, которое обновит вашу базу данных новой моделью.
Однако, если вы хотите обновить каждый компонент отдельно, то вы можете иметь индивидуальные формы для каждого значения, которые представляют это значение и TaskId. Они будут подчиняться различным действиям, каждый из которых должен будет найти модель, которую вы хотите обновить, и обновите ее.
Лично я бы предпочел бывшую, так как это упрощает вашу архитектуру и требует гораздо меньше кода.
Другая проблема, которую решает целая форма, - это вопрос * проверки уровня объекта *. В реальных приложениях вы редко проверяете поле за полем, но часто должны проверять весь объект модели, поскольку разные поля могут быть взаимоисключающими, или, чаще всего, некоторые значения полей имеют побочные эффекты в других полях и т. Д. Поэтому для того, чтобы модель была последовательной (логически, с точки зрения бизнес-правил), вы должны изучить ее целиком, а самый простой способ сделать это без гражданства - опубликовать весь объект, который либо совершает, либо терпит неудачу, как все. –
- 1. Модели обновления фона AngularJS - лучшая практика
- 2. Лучшая практика обновления сайта
- 3. Лучшая практика для обновления адаптера
- 4. Лучшая практика для Syncing Добавлено удалённых элементов
- 5. Лучшая практика для getRefreshedUserItems
- 6. Лучшая практика обновления строки состояния
- 7. Лучшая практика обновления Android-приложения?
- 8. Лучшая практика обновления update.conf CFEngine?
- 9. процедуры обновления LINQ - лучшая практика
- 10. Лучшая практика с изменениями MVC4 и EF5
- 11. Лучшая практика для обработки ExtJS обновления страницы
- 12. Лучшая практика для обновления аргументов фрагмента?
- 13. Лучшая практика для обновления application-prod.yml
- 14. Лучшая практика для обновления Django contrib
- 15. Лучшая практика обновления HashMap для кэша объектов
- 16. Лучшая практика для рекурсивного обновления вложенного словаря?
- 17. Лучшая практика для обновления моей структуры данных?
- 18. Hibernate объект обновления лучшая практика
- 19. Лучшая практика для рефлектора модели жира
- 20. Лучшая практика для сохранения классов модели
- 21. Rails: Лучшая практика для местоположений класса модели?
- 22. Лучшая практика для отношений модели Phalcon
- 23. Лучшая практика для повторного использования компонентов модели?
- 24. Лучшая практика для заполнения объекта модели
- 25. Mean.io - Лучшая практика для расширения модели пользователя
- 26. Лучшая практика для повторяющихся элементов xml
- 27. AngularJs + Лучшая практика для просмотра/обновления данных - после обновления снова загрузите данные в модели
- 28. Использование прототипа JavaScript - лучшая практика
- 29. Лучшая практика JSON-LD: использование нескольких элементов <script>?
- 30. Лучшая практика обновления веб-приложения Go
Это не конкретная проблема. Начните с изучения MVC, а затем вы можете использовать то, что научились решать эту проблему. http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started – speti43
Так как это основы ASP.NET MVC 4, я рекомендую вам посмотреть превосходные видеоуроки, найденные на http://www.asp.net/mvc. Вы должны начать изучать MVC, прежде чем задавать вопросы об этом :) – neeKo