Asp.net mvc 4 无法使用knockout绑定记录

Asp.net mvc 4 无法使用knockout绑定记录,asp.net-mvc-4,knockout.js,Asp.net Mvc 4,Knockout.js,通过使用以下文章:,我尝试开发示例应用程序。为了保持独立,我尝试将javascript代码移动到一个单独的js文件:EmployeeInfo.js,并在Create.cshtml的head部分引用了js文件,如下所述: <head> <script src="~/Scripts/EmployeeInfo.js"></script> </head> 但我无法显示数据库中的现有记录。在调试代码时,我发现调用了GetEmploye

通过使用以下文章:,我尝试开发示例应用程序。为了保持独立,我尝试将javascript代码移动到一个单独的js文件:EmployeeInfo.js,并在Create.cshtml的head部分引用了js文件,如下所述:

<head>    
     <script src="~/Scripts/EmployeeInfo.js"></script>
</head>

但我无法显示数据库中的现有记录。在调试代码时,我发现调用了GetEmployees()方法,data.length也大于0,但数据无法与表绑定以显示所有记录。在此方面的任何帮助都将不胜感激

<tbody data-bind="foreach: Employees">
                                <tr style="border: solid" data-bind="click: $root.getselectedemployee" id="updtr">
                                    <td><span data-bind="text: EmpNo"></span></td>
                                    <td><span data-bind="text: EmpName"></span></td>
                                    <td><span data-bind="text: Salary"></span></td>
                                    <td><span data-bind="text: DeptName"></span></td>
                                    <td><span data-bind="text: Designation"></span></td>
                                    <td>
                                        <button data-bind="click: $root.deleterec">Delete</button></td>
                                </tr>
                            </tbody>

删除
有人能帮我理解这个问题吗

谢谢和问候,
Santosh Kumar Patro

在没有看到工作代码的情况下,我唯一的猜测是您在页面呈现之前应用了绑定。注意步骤8的说明:

步骤8:在关闭主体标记之前,定义 ViewModel的定义如下:

您已经将代码移动到一个单独的文件中,这很好,但是您已经将其移动到head标记中。DOM操作顺序将在
有机会呈现之前加载并执行此脚本,因此ko.applyBindings将不绑定任何内容。你有两个选择

将脚本声明移动到结束正文标记之前:

    <script src="~/Scripts/EmployeeInfo.js"></script>
</body>

谢谢。你的建议对我理解这个问题帮助很大。
$(function (){
    // ... Your code ...
});