Вот еще одно возможное объяснение.
Я выполняю AJAX POSTing в метод действия MVC, используя jQuery, например:
$.post('url/here',dataObject);
jQuery превратит объект данных в строку запроса. Я использую связыватель модели по умолчанию, чтобы вставить значения в мою модель представления. Проверка модели не удалась: «Значение 'null' недопустимо для имя поля ". Но свойство обнуляемый int. После проверки необработанного POST я обнаружил, что объект данных, который я размещаю, сериализуется в строку запроса, которая выглядит следующим образом:
Field1=null&Field2=value&Field3=value
а не это:
Field1=&Field2=value&Field3=value
Таким образом, проверка модели по понятным причинам жалуется на присвоение строкового литерала 'null' моему nullable int. Одним из решений является проверка на NULL перед отправкой. Хотелось бы, чтобы у меня было время покопаться, но я просто переключился на отправку JSON-представления объекта данных, который правильно обрабатывает нулевые значения.