价值观不会反映出来

时间:2014-11-13 13:52:27

标签: javascript html knockout.js

这是一个非常初学者级别的问题,因为我刚开始通过下载js来查看淘汰赛js,在我的网络应用程序中引用它。

我的简单aspx代码。基于淘汰赛js网站学习页面的第一个教程。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="KnockoutDemo.aspx.cs" Inherits="knockoutjs.KnockoutDemo" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="javascripts/knockout-3.2.0.js" type="text/javascript"></script>
</head>
<body>
    <form id="form1" runat="server">
     <script type="text/javascript">

         function AppViewModel() {
             debugger;
             this.firstName = "XYZ";
             this.lastName = "UU";


         }

         function callKnockOut() {
             debugger;
             ko.applyBindings(new AppViewModel());
         }
     </script>
    <div>
    <p>First name: <strong data-bind="text: firstName"></strong></p>
    <p>Last name: <strong data-bind="text: lastName"></strong></p>
        <button id="click" onclick="callKnockOut();"></button>
    </div>
    </form>
</body>
</html>

理想情况下,点击按钮后,这些值才会生效。代码会成功运行。标签不会显示任何内容!

1 个答案:

答案 0 :(得分:0)

Knockout是客户端javascript库,你将表单提交给服务器,所以不要在服务器上运行它运行它到客户端,即不要为表单标签写runat =“server”。那么这绝对有用。

function AppViewModel() {
             debugger;
             this.firstName = "XYZ";
             this.lastName = "UU";
         }
         function callKnockOut() {
             debugger;
             ko.applyBindings(new AppViewModel());
         }
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<form id="form1" action="#">
    <div>
    <p>First name: <strong data-bind="text: firstName"></strong></p>
    <p>Last name: <strong data-bind="text: lastName"></strong></p>
        <button id="click" onclick="callKnockOut();">submit</button>
    </div>
</form>