Asp.net mvc 淘汰:foreach不使用asp.net mvc

Asp.net mvc 淘汰:foreach不使用asp.net mvc,asp.net-mvc,knockout.js,knockout-2.0,knockout-mvc,Asp.net Mvc,Knockout.js,Knockout 2.0,Knockout Mvc,我知道这可能很容易,但不知何故,我无法为击倒绑定实现foreach。代码如下: @{ Layout = "~/Views/Shared/_Layout.cshtml"; } @section scripts { <script type="text/javascript"> ko.applyBindings({ people: [ { firstName:

我知道这可能很容易,但不知何故,我无法为击倒绑定实现foreach。代码如下:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@section scripts
{
    <script type="text/javascript">
        ko.applyBindings({
            people: [
                { firstName: 'Bert', lastName: 'Bertington' },
                { firstName: 'Charles', lastName: 'Charlesforth' },
                { firstName: 'Denise', lastName: 'Dentiste' }
            ]
        });
    </script>
}

    <div>
        <table>
            <thead>
                <tr><th>First name</th><th>Last name</th></tr>
            </thead>
            <tbody data-bind="foreach: people">
                <tr>
                    <td data-bind="text: firstName"></td>
                    <td data-bind="text: lastName"></td>
                </tr>
            </tbody>
        </table>
    </div>
@{
Layout=“~/Views/Shared/_Layout.cshtml”;
}
@节脚本
{
ko.applyBindings({
人民:[
{名字:'Bert',姓氏:'Bertington'},
{姓:'Charles',姓:'Charlesforth'},
{姓:“丹尼斯”,姓:“牙医”}
]
});
}
姓
呈现的HTML如下所示:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> - My ASP.NET Application</title>
    <link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>

    <script src="/Scripts/modernizr-2.6.2.js"></script>


</head>
<body>
    <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="/">Application name</a>
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li><a href="/">Home</a></li>
                    <li><a href="/Home/About">About</a></li>
                    <li><a href="/Home/Contact">Contact</a></li>
                </ul>
            </div>
        </div>
    </div>
    <div class="container body-content">
          
    <div>
        <table>
            <thead>
                <tr><th>First name</th><th>Last name</th></tr>
            </thead>
            <tbody data-bind="foreach: people">
                <tr>
                    <td data-bind="text: firstName"></td>
                    <td data-bind="text: lastName"></td>
                </tr>
            </tbody>
        </table>
    </div>

        <hr />
        <footer>
            <p>&copy; 2014 - My ASP.NET Application</p>
        </footer>
    </div>

    <script src="/Scripts/jquery-1.10.2.js"></script>

    <script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/respond.js"></script>

    <script src="/Scripts/knockout.debug.js"></script>
<script src="/Scripts/knockout.mapping-latest.debug.js"></script>

    
    <script src="/Scripts/knockout.js"></script>
    <script src="/Scripts/knockout.mapping-latest.js"></script>
    <script type="text/javascript">
        ko.applyBindings({
            people: [
                { firstName: 'Bert', lastName: 'Bertington' },
                { firstName: 'Charles', lastName: 'Charlesforth' },
                { firstName: 'Denise', lastName: 'Dentiste' }
            ]
        });
    </script>

</body>
</html>

-我的ASP.NET应用程序

&抄袭;2014年-我的ASP.NET应用程序

ko.applyBindings({ 人民:[ {名字:'Bert',姓氏:'Bertington'}, {姓:'Charles',姓:'Charlesforth'}, {姓:“丹尼斯”,姓:“牙医”} ] });
问题是foreach不能像代码中实现的那样工作。我得到的错误是(使用敲除上下文进行调试):

ExtensionError:TypeError消息:“Object.getOwnPropertyNames已调用 在非对象上“堆栈:(…)获取堆栈:函数(){[本机代码]}” 设置堆栈:函数(){[本机代码]} proto:错误信息:“请选择包含ko数据的dom节点。”

未捕获类型错误:未定义不是函数

我已经尝试了一段时间,但没有成功。 谢谢

所以我解决了它

问题在于淘汰2.0有一行代码:

var elems=jQuery['clean']([html])

但是我使用的jQuery1.10不推荐使用clean方法。 所以我把我的淘汰赛升级到3.0并且成功了


感谢@Boaz回答这个问题

为什么要包括
knockout.js
knockout.mapping.js
两次?你已经包括knockout两次了。一次在布局中,一次在视图中。从
@部分脚本中删除
@nemesv-我从视图中删除了脚本,但仍然得到相同的错误。@haim770-我已经更新了代码,但问题仍然存在