asp.net mvc 淘汰赛不起作用

Posted

技术标签:

【中文标题】asp.net mvc 淘汰赛不起作用【英文标题】:asp.net mvc knockout do not work 【发布时间】:2016-05-20 19:10:13 【问题描述】:

我正在尝试在 ASP.NET MVC 中启动淘汰赛示例,但它不起作用。 结果我只看到了

旅客姓名膳食附加费

淘汰部分不可用。为什么?如何解决这个问题?

@
ViewBag.Title = "Index";

<script src="~/Scripts/knockout-3.4.0.js"></script>
<h2>Index</h2>

<script>
// Class to represent a row in the seat reservations grid
function SeatReservation(name, initialMeal) 
    var self = this;
    self.name = name;
    self.meal = ko.observable(initialMeal);


// Overall viewmodel for this screen, along with initial state
function ReservationsViewModel() 
    var self = this;

    // Non-editable catalog data - would come from the server
    self.availableMeals = [
         mealName: "Standard (sandwich)", price: 0 ,
         mealName: "Premium (lobster)", price: 34.95 ,
         mealName: "Ultimate (whole zebra)", price: 290 
    ];

    // Editable data
    self.seats = ko.observableArray([
        new SeatReservation("Steve", self.availableMeals[0]),
        new SeatReservation("Bert", self.availableMeals[0])
    ]);


ko.applyBindings(new ReservationsViewModel());
</script>

<table>
<thead>
    <tr>
        <th>Passenger name</th>
        <th>Meal</th>
        <th>Surcharge</th>
        <th></th>
    </tr>
</thead>
<tbody data-bind="foreach: seats">
    <tr>
        <td data-bind="text: name"></td>
        <td data-bind="text: meal().mealName"></td>
        <td data-bind="text: meal().price"></td>
    </tr>
</tbody>
</table>

【问题讨论】:

【参考方案1】:

当你调用ko.applyBindings 时,整个 DOM 应该已经准备好了。

因此,您需要将 script 块移动 到您的 table 之后(或者更可取到 html 的底部):

@
ViewBag.Title = "Index";

<script src="~/Scripts/knockout-3.4.0.js"></script>
<h2>Index</h2>    

<table>
   ...
</table>

<script>
...

ko.applyBindings(new ReservationsViewModel());
</script>

来自documentation:

要激活淘汰赛,将以下行添加到 &lt;script&gt; 块:

 ko.applyBindings(myViewModel);

您可以将脚本块放在 HTML 文档的底部,也可以将其放在顶部并将内容包装在 DOM-ready 处理程序中,例如 jQuery 的 $功能

【讨论】:

以上是关于asp.net mvc 淘汰赛不起作用的主要内容,如果未能解决你的问题,请参考以下文章

ASP.Net Core MVC 依赖注入不起作用

ASP.NET MVC 客户端电子邮件验证不起作用

向 ASP.Net MVC 5 添加新主题不起作用

ASP.NET CORE MVC 身份用户和角色不起作用

ASP.NET MVC 3 级联组合框不起作用

javascript的“更改”函数在asp.net mvc中不起作用