Привет
Я знаю, что можно использовать Html.CheckBoxFor (c => c.MyBool), чтобы получить связыватель по умолчанию для привязки правильного значения к параметру объекта модели в действии элемента управления (строго типизированное представление).
Если мне, однако, необходимо добавить флажок "запомнить" в форму на главной странице, это будет означать, что строгий тип не используется.
Скажем, что действие Logon принимает объект следующего класса
public class LogOnModel
{
[Required]
[DisplayName("User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[DisplayName("Password")]
public string Password { get; set; }
[DisplayName("Remember me?")]
public Boolean RememberMe { get; set; }
}
Чтобы привязка по умолчанию отображалась в UserName и Password, мы могли бы просто создать входные данные с правильными именами (UserName / Password). Однако это невозможно с помощью свойства RememberMe. Чтобы заставить это работать, я должен объявить скрытое поле с именем RmemberMe, а затем установить этот ввод с помощью JavaScript следующим образом:
$(document).ready(function () {
$('input[id*=chkbRemember]').click(function () {
if ($('input[id*=chkbRemember]').attr('checked')) {
$('input[id *= RememberMe]').val("True");
}
else {
$('input[id *= RememberMe]').val("False");
}
});
});
Это будет работать, но действительно ли это правильный путь?
BestRegards