2016-11-21 66 views
0

我使用ASP.NET MVC应用程序与剑道框架。出于某种原因,我总是得到勾选“#IsInterestDeemed”的勾选状态。虽然,在ViewModel财产“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> 

视图模型属性: -

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

回答

1

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

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

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

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

+0

IsReadOnly也是一个布尔属性 – Karan

+0

所以,如果他们都是布尔类型,或许他们应该如何处理相同(提示:行情) –

+0

我甚至移除了数据绑定属性的选项被禁用,仍然没有运气.. – Karan