我正在按照本教程进行淘汰mvc。以下是我的代码。
查看 : cshtml
@using PerpetuumSoft.Knockout
@model DynamicRowAdd.Models.HelloWorldModel
@{
var ko = Html.CreateKnockoutContext();
}
@{
ViewBag.Title = "View";
}
<h2>View</h2>
<p>First name: @ko.Html.TextBox(Model1=>Model1.FirstName)</p>
<p>Last name: @ko.Html.TextBox(Model1=>Model1.LastName)</p>
<h2>Hello, @ko.Html.Span(Model1=>Model1.FullName)!</h2>
@ko.Apply(Model)
型:
using DelegateDecompiler;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
namespace DynamicRowAdd.Models
{
public class HelloWorldModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
[Computed]
[ScriptIgnore]
[JsonIgnore]
public string FullName
{
get { return FirstName + " " + LastName; }
}
}
}
控制器:
using DynamicRowAdd.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using PerpetuumSoft.Knockout;
namespace DynamicRowAdd.Controllers
{
public class HelloWorldController : Controller
{
// GET: HelloWorld
public ActionResult Index()
{
return View(new HelloWorldModel
{
FirstName = "Steve",
LastName = "Sanderson"
});
}
}
}
在这里,当我运行代码时,我应该获得输出,例如教程中提到的输出。但是我没有像教程中那样获得输出。相反,我在名字,姓氏和全名中变得空白。
我可能做错了什么。?
这些示例缺少设置的一个关键部分:您必须在布局/视图中包含必要的 javascript 文件才能 Knockout 和 Knockoutmvc 正常工作。
这在快速入门部分中进行了介绍
添加指向下一个 js 文件的链接:
<script src="@Url.Content("~/Scripts/jquery-x.y.z.min.js")" type="text/javascript"></script> <!-- Use your version of jQuery -->
<script src="@Url.Content("~/Scripts/knockout-x.y.z.js")" type="text/javascript"></script> <!-- Use your version of knockout -->
<script src="@Url.Content("~/Scripts/knockout.mapping-latest.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/perpetuum.knockout.js")" type="text/javascript"></script>