Я унаследовал базу кода, написанную в ASP.Net MVC 4. Каждый метод post принимает значение FormCollection
. Помимо раздражения от необходимости доступа к значениям посредством цитируемых строк, это также приводит к недостаткам, таким как невозможность использования таких объектов, как ModelState.IsValid
или [AllowHtml]
атрибуты в моих свойствах ViewModel. Они действительно создавали классы ViewModel для каждого из своих представлений (хотя они в значительной степени просто прямые обертки вокруг реальных классов модели Entity Framework), но они используются только для методов GET.
Есть ли что-то, что мне не хватает в FormCollection, которое дает повод, почему это может быть хорошей идеей? У него только недостатки. Я бы хотел пройти и "исправить" его, используя вместо этого ViewModels. Это потребует большой работы, потому что в ViewModels есть свойства, которые являются интерфейсами, а не конкретными классами, что означает либо запись пользовательского связующего, либо изменение ViewModels.
Но, возможно, там что-то мне не хватает, когда имеет смысл использовать FormCollection?