У меня есть форма, и единственное, что требуется, это имя клиента.Итак, в моей модели у меня есть:
[DisplayName("Customer name*:")]
[Required]
public string CustomerName
{ get; set; }
Раньше я делал пост HTML, и все работало нормально, включая проверку.
Теперь я «откорректировал» форму, используя Ext.direct.mvc (http://code.google.com/p/ext-direct-mvc/),, что является существенным фактом, и разместив данные в формате Json, и данные успешно публикуются.
Когда я ставлю точку останова в своем коде (в настоящий момент измененную для целей отладки):
[DirectInclude]
[HttpPost]
public ActionResult SaveOrUpdateOrderLines(CustomerOrderModel customerOrderModel)
{
if (!ModelState.IsValid)
{
return ModelState.JsonValidation();
}
return null;
Я вижу, что CustomerOrderModel.CustomerOrderHeader.CustomerName= ""
Но ModelState.IsValid имеет значение true.
Теперь о некоторых вещах, которые япробовал:
Я вставил следующий код непосредственно перед проверкой ModelState.isValid, чтобы убедиться, что CustomerName = null
customerOrderModel.CustomerOrderHeader.CustomerName = null;
Я пытался использовать TryUpdateModel (customerOrderModel), но получаю следующее сообщение об ошибке:
TryUpdateModel выдал исключение типа 'System.MissingMethodException'
Я пытался изменитьданные json, чтобы «корневой» «CustomerOrderHeader» был переименован в «customerOrderModel» для соответствия параметру.
Ничего из этого не помогло.Так что я могу сделать неправильно, что проверка больше не работает?Какие шаги можно предпринять для устранения проблемы?
РЕДАКТИРОВАТЬ для counsellorBen
РЕДАКТИРОВАТЬ 2 для counsellorben