2017-02-01 11 views
0

Бритвы code-модель значение свойства не меняется от HTML флажка в бритве

@model SkyTracker.Models.Person 

<form method="post" action="Edit"> 
    @Html.CheckBoxFor(m=> m.IsActive, new {@Value=Model.IsActive }) 
    <input type="submit" value="Update"/> 
</form> 

Контроллер код-

[HttpPost] 
public ActionResult Edit(Person person) 
{ 
    var status = person.IsActive; //its always false. 
} 

ли флажок или снят, модель свойство всегда остается ложным.

Что я пропустил здесь?

+1

Измените значение '@ Value' на' @ checked', после чего вы получите значение. –

+0

Сначала удалите 'new {@Value = Model.IsActive}' (метод правильно задает значение, и вы никогда не должны переопределять атрибут 'value' при использовании метода' HtmlHelper'). Если начальное значение 'false', то ваш параметр' value = "False" ', так что это будет отображаться, когда флажок установлен (и не использовать' @ checked') –

ответ

2

Вы shoudn't это сделать так:

@Html.CheckBoxFor(m=> m.IsActive, new {@Value=Model.IsActive }) 

Правильный путь:

@Html.CheckBoxFor(m=> m.IsActive) 

asp.net MVC автоматически будет пометить его как проверить/бесконтрольно зависит от стоимости модели

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

  • Нет связанных вопросов^_^