Обязательная привязка к кендо для флажка всегда показывает галочку

Я использую приложение ASP.NET MVC с фреймворком Kendo. По какой-то причине я всегда получаю флажок "#IsInterestDeemed" в отмеченном состоянии. Хотя свойство viewmodel IsInterest имеет значение false в методе действия контроллера. Пожалуйста, предложите, где я делаю ошибку.

<div id="RunModelDiv" style="min-width:300px">
  <div>
     <input type="checkbox" id="IsInterestDeemed" value="IsInterestDeemed" data-bind="checked: IsInterestDeemed, disabled: IsReadOnly" />
      <label for="IsInterestDeemed">&nbsp;Interest</label>
  </div>
<div>


 <script>
     var myViewModel;
 $(document).ready(function(){
    myViewModel = kendo.observable({            
                IsReadOnly: @Html.Raw(Json.Encode(Model.IsReadOnly)),
                IsInterestDeemed : '@Html.Raw(Json.Encode(Model.IsInterest))'});

    kendo.bind($("#RunModelDiv"), myViewModel);
   });
</script>

Свойство ViewModel:-

public bool IsInterest { get; set; }
public bool IsReadOnly { get; set; }

1 ответ

Решение

Почему значения для IsReadOnly а также IsInterestDeemed в Javascript обрабатываются по-разному (один является строкой, другой является необработанным текстом)? Возможно, именно это и вызывает синтаксическую ошибку на странице при ее загрузке, и поэтому страница не будет работать должным образом.

Более конкретно, эти две строки противоречивы:

IsReadOnly: @Html.Raw(Json.Encode(Model.IsReadOnly))
IsInterestDeemed : '@Html.Raw(Json.Encode(Model.IsInterest))'

Проверьте вывод HTML и проверьте свое решение.

Другие вопросы по тегам