2012-06-20 4 views
0

Я читаю значение enum из db, а затем привязываю его к модели. Когда я отправляю форму с помощью ajax, каким-то образом перечисление является unbound или свойство модели в нуле или ноль, но оно отображается правильно на представлении. Я разместил код ниже. Im использованием entityframework и mvc3Enum отсоединяет от модели по вызову ajax

//model code constructor 
public CarModel(Car car) 
{ 
State=(CarState)car.State; 
//car.State comes in as an int 
//etc setting other variables 
} 

//CarState property 
public CarState {get;set;} 

//model code 
@Html.DisplayFor(m=>m.CarState) 

//Controller code() 
Save(CarModel car) 
{ 
//I have code that saves the changes 
} 

Минута я добраться до "автомобиль", CarState не имеет никакого значения.

ответ

1

Не совсем понятно, как вы передаете это значение действию контроллера. Вы показали только @Html.DisplayFor(m=>m.CarState), но, очевидно, это отображает только метку в представлении. Он ничего не отправляет на сервер. Если вы хотите отправить некоторое значение обратно, вам нужно будет использовать поле ввода внутри формы.

Например:

@Html.EditorFor(m => m.CarState) 

или использовать HiddenFor поле, если вы не хотите, чтобы пользователь, чтобы изменить его.

В любом случае вам необходимо отправить это значение на сервер, если вы ожидаете, что модельное переплетное устройство сможет ее восстановить. Модельное связующее не является волшебником. Он не может изобретать ценности. Он связывает значения с вашей моделью из запроса.

+0

Скрытый для работ отлично. – CodeNoob

Смежные вопросы