2016-05-23 3 views
0

Использование Razor в моем веб-приложении mvc.Как изменить значение скрытого поля для флажка

У меня есть это:

@Html.CheckBox(Model.SectionModel[i].PreferenceModel[j].Name,Boolean.Parse(Model.SectionModel[i].PreferenceModel[j].Value)) 

так, для меня здесь начальное значение этого флажка является TRUE.

Теперь, если мой пользователь устанавливает его в false, я хочу изменить/создать скрытое поле, чтобы показать это значение ЛОЖЬ для использования в моей обратной передаче.

Я не могу использовать @ HTML.CheckBoxFor, потому что значение исходит из файла XML, и это значение может быть для другого элемента управления, который не является логическим значением.

После предложенного ответа маршрута я поставил в этом:

@Html.EditorFor(x => x.SectionModel[i].PreferenceModel[j].Value, Model.SectionModel[i].PreferenceModel[j].Name) 

но значение как значение я строка текстовое поле оказано и не флажком. который является opoosite к моей проблеме

является нулевым

+0

Возможный дубликат [Получение значения флажка в ASP.NET MVC 4] (http://stackoverflow.com/questions/14730746/getting-checkbox-value-in-asp-net-mvc-4) – demo

+0

@ демо будет выглядеть и проверять это. спасибо –

+0

Принятый ответ кажется, что вам нужно – demo

ответ

1
$("#chkType").change(function (s, e) { 
      if ($(this).is(":checked")) $("#hiddenField1").val('1'); 
      else $("#hiddenField1").val('0'); 
     }); 

Это должно работать, я просто скопировал его из одного из моих проектов. Надеюсь это поможет. :)

+0

Спасибо, попробуем в минуту. –

+0

, кажется, путь. спасибо –

+0

Это не имеет никакого смысла. Метод 'CheckBox()' и 'CheckBoxFor()' предназначен для привязки к bool, а не 'int' или' string', и он полностью испортит привязку модели, если вам нужно вернуть представление –

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