0

我正在使用带有 Kendo 框架的 ASP.NET MVC 应用程序。出于某种原因,我总是让复选框“#IsInterestDeemed”处于勾选状态。虽然,视图模型属性“IsInterest”在控制器操作方法下为假。请建议我在哪里犯了错误。

<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; }
4

1 回答 1

1

为什么 Javascript 中的IsReadOnly和的值IsInterestDeemed处理方式不同(一个是字符串,另一个是原始文本)?也许这就是在页面加载时导致页面出现语法错误的原因,因此页面不会按预期运行。

更具体地说,这两行是不一致的:

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

检查 HTML 输出并验证您的解决方案。

于 2016-11-21T12:40:30.330 回答