У меня есть следующие модели:Checkbox проверяется, но модель все еще ложь
public class TaskViewModel{
//other properties are omitted for brevity
public bool IsUnderControl{get;set;}
}
С другой стороны, у меня есть эти два DOM элементы, которые я вручную связывающиеся свойства модели:
<input type="checkbox" name="IsUnderControl" value="true"/>
<input type="hidden" name="IsUnderControl" value="false" />
Теперь, после отправки, значение IsUnderControl
неверно, даже если флажок установлен. Вот метод POST:
[HttpPost]
public void SaveTask(TaskViewModel tvm){
//When I debug the code I see that tvm.IsUnderControl=false
if (ModelState.IsValid){
//I save the task to repository
}
}
* Примечание: Когда я проверить флажок Я вижу, что нет никакого checked="checked"
среди элементов CheckBox atributes.
EDIT: Вот Javascript, с которым я создать соответствующий элемент ввода:
$('#taskConfig').
append('<input type="checkbox" value="true"
name="IsUnderControl"/>').append('<input type="hidden" value="false"
name="IsUnderControl"/>');
Вы пытались использовать HTML-помощник вместо этого? '@ Html.CheckBoxFor (m => m.IsUnderControl)' –
Является ли это 'public bool IsUnderControl {get; задавать; } '? И какова подпись метода POST? –
Я думаю, что вы не связываете свойство модели с флажком. Попробуйте использовать Html.Checkbox или Html.CheckboxFor. – Dhwani