我正在使用带有Kendo框架的ASP.NET MVC应用程序。出于某种原因,我总是在勾选状态下获得“#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"> 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; }
答案 0 :(得分:1)
为什么Javascript中IsReadOnly
和IsInterestDeemed
的值处理方式不同(一个是字符串,另一个是原始文本)?也许这就是加载时页面上出现语法错误的原因,因此页面不会按预期运行。
更具体地说,这两行是不一致的:
IsReadOnly: @Html.Raw(Json.Encode(Model.IsReadOnly))
IsInterestDeemed : '@Html.Raw(Json.Encode(Model.IsInterest))'
检查HTML输出并验证您的解决方案。