Javascript 视图和视图模型连接

Javascript 视图和视图模型连接,javascript,html,asp.net-mvc,mvvm,knockout.js,Javascript,Html,Asp.net Mvc,Mvvm,Knockout.js,我有两个文件(一个视图和一个ViewModel),但我不知道如何让视图读取存储在模型中的信息并显示它。我已经在这个网站上查看了一些相关的问题,但还没有发现任何我能够开始工作的问题。这可能只是因为我不完全理解已经给出的解决方案,但我希望这篇文章能够让某人详细阐述与我正在从事的项目直接相关的解决方案 查看文件: @{ ViewBag.Title = "Sponsors"; } <hgroup class="title"> <h1>@ViewBag.Title

我有两个文件(一个视图和一个ViewModel),但我不知道如何让视图读取存储在模型中的信息并显示它。我已经在这个网站上查看了一些相关的问题,但还没有发现任何我能够开始工作的问题。这可能只是因为我不完全理解已经给出的解决方案,但我希望这篇文章能够让某人详细阐述与我正在从事的项目直接相关的解决方案

查看文件:

@{
    ViewBag.Title = "Sponsors";
}

<hgroup class="title">
    <h1>@ViewBag.Title</h1>
</hgroup>

<table>
    <thead><tr>
        <th></th><th>Sponsor</th><th>Description</th>
    </tr></thead>
    <!-- Todo: Generate table body -->
    <tbody data-bind="foreach: sponsor">
        <tr>
            <td></td>
            <td><select data-bind="text: cName"></select></td>
            <td><select data-bind="text: sDescribe"></select></td>
        </tr>
    </tbody>
</table>

我最近刚刚开始使用MVC框架,所以我还在学习。我一直在使用在线教程来了解我现在的处境。这个视图是我工作过的第三个视图,也是目前为止我唯一无法显示的视图。其他人不使用javascript页面来显示他们的信息,因为他们的信息都不是动态加载的。

您的视图模型应该是有效的JS对象。 像下面

var viewModel = {
    sponsor: [
        { cName: "company1", sDescribe: "company 1 been nice enough to support my bowling career by paying for a couple of my tournaments." },
        { cName: "company2", sDescribe: "I am an employee at company 2 and it is where I purchase all of my equipment. The owner has also been nice enough to supply me with a few shirts to wear in tournaments and I have even received a few bowling balls from him." }
    ]
};

ko.applyBindings(viewModel);

请参见fiddle

是否确实要向视图模型文件添加引用?它必须以某种方式包含在视图页面上。视图模型文件看起来是一个javascript文件,所以我的意思是视图html文件必须知道
…看起来您已经解决了问题。下面的解决方案是将javascript添加到与html相同的页面上。在阅读您的评论后,我将函数移回.js文件,并在html文件的顶部添加了引用。现在一切都按照我最初希望的方式进行。它只是把你的建议和塔巴林发布的答案结合起来好啊我更改了viewmodel文件以匹配您在此处键入的内容。但是当我尝试加载网页时,我总是得到同样的结果。表格标题显示为“赞助商”和“描述”,但下面显示的唯一内容是空的下拉菜单。我甚至不知道下拉菜单是从哪里来的。我实际上意识到了我的错误。我在表中使用了错误的html实体。当我做教程时,我正在编辑它以适应我的数据,教程使用了下拉菜单(我只是想在这里显示信息),但一旦我发现您的解决方案可以显示数据。谢谢
var viewModel = {
    sponsor: [
        { cName: "company1", sDescribe: "company 1 been nice enough to support my bowling career by paying for a couple of my tournaments." },
        { cName: "company2", sDescribe: "I am an employee at company 2 and it is where I purchase all of my equipment. The owner has also been nice enough to supply me with a few shirts to wear in tournaments and I have even received a few bowling balls from him." }
    ]
};

ko.applyBindings(viewModel);