ASP.. NET MVC4视图模型变更跟踪使用knockout.js
ASP.NET MVC4 ViewModel Changetracking using knockout.js
我有一个页面,其中我想知道什么时候对任何字段进行了任何更改,然后我将禁用和启用保存按钮。
我正在使用下面的代码,它不工作,有人知道我错过了什么?
@using CirrusAdmin.Models
@model MedicineModel
@{
ViewBag.Title = "Update Medicine";
}
<script src="@Url.Content("~/Scripts/knockout-2.1.0.js")" type="text/javascript"></script>
<script type="text/javascript">
var initialData = @Html.Raw(Json.Encode(Model));
var viewModel = {
item : ko.observable(initialData),
isDirty : ko.DirtyFlag(item)
};
ko.applyBindings(viewModel);
</script>
<hgroup class="title">
<h1>@ViewBag.Title.</h1>
</hgroup>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<fieldset>
<ol>
<li>
@Html.LabelFor(m => m.Code)
@Html.TextBoxFor(m => m.Code, new { data_bind= "value: Code", @readonly = "readonly" })
</li>
<li>
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name, new { data_bind = "value: Name" })
</li>
<li>
@Html.LabelFor(m => m.GenericName)
@Html.TextBoxFor(m => m.GenericName, new { data_bind = "value: GenericName" })
</li>
</ol>
</fieldset>
<input type="submit" data-bind="enable: isDirty" value="Save" />
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
我认为您在这个过程中过早地应用了绑定。试着移动
ko.applyBindings(viewModel);
在表单下面(即
)@using (Html.BeginForm())
{
//your form code stuff here
}
<script type="text/javascript">
ko.applyBindings(viewModel);
</script>
相关文章:
- 动态分配GA增强型电子商务跟踪器
- 跟踪在页面加载时应用内联样式的JavaScript
- 跟踪用户点击Adsense广告的IP地址
- 跟踪jqplot垂直折线图的鼠标位置
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- 如何将Knockout.JS与服务器已经在DOM中呈现的数据同步
- 显示模块模式在Knockout中设置模型的新实例
- 有没有一种方法可以从URL跟踪请求的域
- Javascript-在视频中跟踪鼠标位置
- Knockout.JS标签在foreach内部不起作用
- 在Google Analytics中跟踪用户,但只能在两个操作之间跟踪
- 如何收集Knockout可观察性以放入JSON
- 可以在 KNOCKOUT js 中将依赖跟踪与行为分开
- knockout.js事件,用于跟踪输入文本框内的每一个文本更改
- 使用Knockout JS跟踪表中的更改
- Knockout -复制一个可观察的ray而不跟踪它的从属关系
- 是否有任何方法可以跟踪Knockout Observable Array项目在UI中显示
- 是否有一种使用Knockout绑定页面进行更改跟踪的标准方法
- ASP.. NET MVC4视图模型变更跟踪使用knockout.js