【Web API系列教程】3.7 — 实战:处理数据(创建UI视图)

在本节,你将开始为app定义HTML,并在HTML和视图模型间添加数据绑定。

打开Views/Home/Index.cshtml文件。用以下代码替换掉文件的所有内容。

@section scripts {
  @Scripts.Render("~/bundles/app")
}

<div class="page-header">
  <h1>BookService</h1>
</div>

<div class="row">

  <div class="col-md-4">
    <div class="panel panel-default">
      <div class="panel-heading">
        <h2 class="panel-title">Books</h2>
      </div>
      <div class="panel-body">
        <ul class="list-unstyled" data-bind="foreach: books">
          <li>
            <strong><span data-bind="text: AuthorName"></span></strong>: <span data-bind="text: Title"></span>
            <small><a href="#">Details</a></small>
          </li>
        </ul>
      </div>
    </div>
    <div class="alert alert-danger" data-bind="visible: error"><p data-bind="text: error"></p></div>
  </div>

  <div class="col-md-4">
    <!-- TODO: Book details -->
  </div>

  <div class="col-md-4">
    <!-- TODO: Add new book -->
  </div>
</div>

这里的绝大部分div元素都是Bootstrap风格,它是有着数据绑定属性的重要元素。这个元素将HTML链接到视图模型中。

例如:

<p data-bind="text: error">

在这个示例中,“text”绑定会使得p元素显示在视图模型中error属性的值。error的回调被声明在ko.obserable中:

self.error = ko.observable(); 

无论何时一个新值被修改到error上,Knockout都会在< p >元素上更新该文本。

而foreach绑定告诉Knockout在books数组中循环遍历。对于该数组的每一项,Knockout会创建一个新的< li >元素。绑定foreach引用的上下文到数组的每一项。例如:

<span data-bind="text: Author"></span>

这里有一个text绑定读取每一个book的Author属性。

如果你现在运行该应用程序,它看起来会是这样:

在页面加载后,books列表会被异步的加载。现在,“Details”链接还不具备功能。我们将在下一节为其添加此功能。

时间: 2024-11-08 22:14:27

【Web API系列教程】3.7 — 实战:处理数据(创建UI视图)的相关文章

ASP.NET Web API系列教程(目录)(转)

注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP.NET Web API.这是一个用来在.NET平台上建立HTTP服务的Web API框架,是微软的又一项令人振奋的技术.目前,国内对此关注的人似乎还不多,有关ASP.NET Web API的文章也不多见.为此,本人打算对微软ASP.NET Web API官方网站上的一些教程进行翻译,以期让更多的国人了解.学习和使用这项ASP.NET Web API. ASP.NET Web API系列教程目录 Introduction:Wha

ASP.NET Web API系列教程目录

ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Started with ASP.NET Web API第1章 ASP.NET Web API入门 Your First Web API (C#)第一个Web API(C#) Deep Dive into Web API深入探讨Web API(这是一个视频教程,本翻译系列略) Pro ASP.NET Web

Web Api系列教程第2季(OData篇)(二)&mdash;&mdash;使用Web Api创建只读的OData服务

前言 很久没更新了,之前有很多事情,所以拖了很久,非常抱歉.好了,废话不多说,下面开始正题.本篇仍然使用上一季的的项目背景(系列地址http://www.cnblogs.com/fzrain/p/3490137.html)来演示OData服务,因此我们可以直接使用之前建好的数据访问层.但是不是说一定要看到之前的所有内容,我们只是借用数据库访问层,对于数据库的模型构建移步(使用Entity Framework Code First构建数据库模型). 有了数据访问的基础,我们可以开始构建OData服

【Web API系列教程】3.5 — 实战:处理数据(创建数据传输对象)

现在,我们的Web API暴露数据库实体给客户端,而客户端接收直接映射到你的数据库表的数据.然而,这不永远都是个好办法.有时候你可以想要改变发送到客户端的数据的形式.例如,你可以想要: 1, 移除环形引用(见上一章) 2, 隐藏客户端不应该看到的特定属性 3, 为了减少有效载荷而省略一些属性 4, 拼接包含嵌套的对象图,以使它们对客户端更便利 5, 避免"over-posting"漏洞(查看Model Validation(http://www.asp.net/web-api/over

【Web API系列教程】3.2 — 实战:处理数据(添加模型和控制器)

前言 在本部分中,你将添加用于定义数据库实体的模型类.然后你将添加用于在这些实体上执行CRUD(Create.Retrieve.Update.Delete--译者注)操作的Web API 控制器. 添加模型类 在本教程中,我们将通过使用"Code First"的方法对实体框架(EF)来创建数据库.对于Code First,你写C#类来相应数据库表,使用EF来创建数据库.(有关详细信息,见Entity Framework Development Approaches.) 首先,我们定义我

【Web API系列教程】3.3 — 实战:处理数据(建立数据库)

前言 在本部分中,你将在EF上使用Code First Migration(http://msdn.microsoft.com/en-us/data/jj591621)来用测试数据建立数据库. 在Tools目录下选择Library Package Manager,然后选择Package Manager Console.在包管理控制台窗口,输入以下命令: Enable-Migrations 这条命令会添加一个名为Migrations的文件夹到你的项目,并添加一个名为Configuration.cs

[转]Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务

本文转自:http://www.cnblogs.com/fzrain/p/3923727.html 前言 很久没更新了,之前有很多事情,所以拖了很久,非常抱歉.好了,废话不多说,下面开始正题.本篇仍然使用上一季的的项目背景(系列地址http://www.cnblogs.com/fzrain/p/3490137.html)来演示OData服务,因此我们可以直接使用之前建好的数据访问层.但是不是说一定要看到之前的所有内容,我们只是借用数据库访问层,对于数据库的模型构建移步(使用Entity Fram

【Web API系列教程】1.1 — ASP.NET Web API入门

前言 HTTP不仅仅服务于web页面.同一时候也是构建暴露服务和数据的API的强大平台.HTTP有着简单.灵活和无处不在的特点.你能想到的差点儿全部平台都包括有一个HTTP库.所以HTTP服务能够遍及广泛的client,包括浏览器.移动设备和传统桌面应用程序. ASP.NET Web API是一个在.NET框架上构建web API的框架.在本教程中,你将使用ASP.NET Web API来创建一个返回产品列表的web API. 创建Web API项目 在本教程中,你将使用ASP.NET Web

【Web API系列教程】2.1 — ASP.NET Web API中的路由机制

这篇文章描述了ASP.NET Web API如何将HTTP请求发送(路由)到控制器. 备注:如果你对ASP.NET MVC很熟悉,你会发现Web API路由和MVC路由非常相似.主要区别是Web API使用HTTP方法来选择动作(action),而不是URI路径.你也可以在Web API中使用MVC风格的路由.这篇文章不需要ASP.NET MVC的任何知识. 路由表 在ASP.NET Web API中,控制器是一个用于处理HTTP请求的类.控制器中的公共方法被称为动作方法或简单动作.当Web A

【Web API系列教程】2.2 — ASP.NET Web API中的路由和动作选择机制

这篇文章描述了ASP.NET Web API如何将HTTP请求路由到控制器上的特定动作. 备注:想要了解关于路由的高层次概述,请查看Routing in ASP.NET Web API. 这篇文章侧重于路由过程的细节.如果你创建了一个Web API项目并且发现一些请求并没有按你预期得到相应的路由,希望这篇文章有所帮助. 路由有以下三个主要阶段: 将URI匹配到路由模板 选择一个控制器 选择一个动作 你可以用自己的习惯行为来替换其中一些过程.在本文中,我会描述默认行为.在结尾,我会指出你可以自定义