Когда вы используете Tag Helpers для формы и добавляете элементы управления вводом, вы можете добавить свой собственный name="myProperty"
к каждому, или вы можете опустить это, и этот атрибут генерируется автоматически.
Представьте, что у вас есть 10 входови вы добавляете новый, но забываете добавить атрибут name
к этому последнему, а затем помощник добавляет свой собственный, например "SearchForm.MyProperty".
Предыдущие 10 заканчиваются name="myProperty"
, нопоследний - name="SearchForm.MyProperty"
.
В этой ситуации привязка модели не удалась, предположительно , потому что эти пути смешаны, а один, совпадающий с SearchForm.MyProperty
, более специфичен, поэтому другие выглядят так, как будто они должныпривязка к свойствам на модели страницы.
Предположительно, когда вы вводите свои собственные имена, и им всем не хватает префикса SearchForm.
, тогда он достаточно умен, чтобы выяснить, связать их все с SearchForm
.
Исправление может заключаться в том, чтобы вообще не вводить свои собственные атрибуты name
для входов.
Улучшение привязки Razor (для устранения сюрприза здесь) может заключаться в том, что всегда происходит сбой, если толькоимена имеют префикс точно, хотя это нарушит существующий код.