.Net Partial View Knockout Js

时间:2015-10-13 07:24:37

标签: asp.net-mvc knockout.js

我有一个局部视图,我使用Ajax.actionlink在viewmodel js文件中使用以下代码加载

function ViewModel() {
this.Idnum = ko.observable();
this.Name = ko.observable();
return this;
}
function InitializeViewModel() {
ViewModel = new ViewModel();
ko.applyBindings(ViewModel, $('#vBinder')[0]);
}
$(document).ready(function () {
InitializeCardViewModel();
})

vBinder是加载局部视图的Div标签的id 问题是在第一次加载时一切正常,但第二次加载会引发异常:

  

TypeError:ViewModel不是构造函数

任何帮助都会真诚地感激。

1 个答案:

答案 0 :(得分:1)

您正在使用viewmodel的实例覆盖viewmodel定义:

ViewModel = new ViewModel();

首次加载IE时,它运行正常,但是一旦此行运行,在后续调用中,您再也无法执行new ViewModel(),因为ViewModel不再是构造函数。为viewmodel的实例使用不同的名称:

function InitializeViewModel() {
    var vm = new ViewModel();
    ko.applyBindings(vm, $('#vBinder')[0]);
}