用户界面和导航3

用户界面和导航
 

Wingtip Toys样品项目 (C#) 下载下载电子书 (PDF)

本系列教程将教你基本的构建 ASP.NET Web 窗体应用程序使用 ASP.NET 4.5 和 Microsoft Visual Studio 表示 2013 年 Web。视觉工作室 2013年项目与 C# 源代码是可用来陪本系列教程。

在本教程中,您将修改 UI 的默认 Web 应用程序以支持翼尖玩具商店前端应用程序的功能。而且,您将添加简单数据绑定导航。本教程的依据前面的教程"创建数据访问层",并是翼尖玩具教程系列的一部分。

您将了解 ︰

  • 如何更改用户界面以支持翼尖玩具商店前端应用程序的功能。
  • 如何配置 HTML5 元素来包含页面导航。
  • 如何创建数据驱动的控件导航到特定产品的数据。
  • 如何显示使用实体框架代码第一次创建数据库中的数据。

ASP.NET Web 窗体允许您创建 Web 应用程序的动态内容。每个 ASP.NET Web 页面创建的方式类似于静态 HTML Web 页 (不包含基于服务器的处理),但 ASP.NET Web 页包含 ASP.NET 识别和处理生成 HTML 页面运行时的额外元素。

与静态 HTML 的网页 (.htm.html文件),服务器满足Web请求通过读取该文件并将其作为发送-在浏览器中。与此相反的是,当有人请求 ASP.NET 网页 (.aspx文件),该页面作为程序运行在 Web 服务器上。当页面运行时,它可以执行任何任务,您的 Web 站点需要,包括计算值、 读写数据库信息或者调用其他程序。作为其输出,该页面动态生成标记 (如在 HTML 元素),并将此动态输出发送到浏览器。

修改用户界面

你会继续这个系列教程通过修改Default.aspx页面。您将修改用户界面中,已经建立了由用于创建应用程序的默认模板。在创建任何 Web 窗体应用程序时,你会做的修改的类型是典型的。你会通过更改标题、 替换一些内容,并删除不需要的默认内容。

  1. 打开或切换到Default.aspx页。
  2. 如果页面出现在设计视图中,切换到视图。
  3. 在页面顶部的@Page指令中,更改Title属性为"欢迎"中黄色下面, 突出显示。
    <%@ Page Title="Welcome" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WingtipToys._Default" %>
  4. 此外在Default.aspx页面上,替换所有的默认内容<asp:Content>标记中包含的标记将显示为以下。
    <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
            <h1><%: Title %>.</h1>
            <h2>Wingtip Toys can help you find the perfect gift.</h2>
            <p class="lead">We're all about transportation toys. You can order 
                    any of our toys today. Each toy listing has detailed 
                    information to help you choose the right toy.</p>
    </asp:Content>
  5. 通过从文件菜单中选择保存 Default.aspx保存Default.aspx页。

所生成的Default.aspx页面将显示如下 ︰

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WingtipToys._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
        <h1><%: Title %>.</h1>
        <h2>Wingtip Toys can help you find the perfect gift.</h2>
        <p class="lead">We're all about transportation toys. You can order 
                any of our toys today. Each toy listing has detailed 
                information to help you choose the right toy.</p>
</asp:Content>

在示例中,您已设置@Page指令的Title属性。当 HTML 显示在浏览器中,服务器代码<%: Page.Title %>解析为Title属性中包含的内容。

示例页包括构成一个 ASP.NET Web 页面的基本元素。该页面包含静态文本,因为你可能在一个 HTML 页面,以及特定于 ASP.NET 的元素。Default.aspx页面中包含的内容将结合母版页内容,将在本教程后面解释。

@Page 指令

ASP.NET Web 窗体通常包含允许您指定页的页属性和配置信息的指令。指令用于由 ASP.NET 作为指示如何处理页面,但他们不会作为发送到浏览器的标记的一部分呈现。

最常用的指令为@Page ,指令该指令允许您指定多个配置选项页,包括以下内容 ︰

  1. 服务器编程语言中的网页,如 C# 代码。
  2. 页面是否包含服务器代码直接在页面中,称为单文件页,网页,或是否它是一个单独的类文件,称为代码隐藏页中的代码页。
  3. 页面是否具有关联的母版页,因此应视为内容的网页。
  4. 调试和跟踪选项。

如果你不在页中,包括@Page指令或指令不包含特定的设置,从Web.config配置文件或从Machine.config配置文件将继承的设置。Machine.config文件提供额外的配置设置在一台机器上运行的所有应用程序。

注意  

Machine.config还提供有关所有可能的配置设置的详细信息。

Web 服务器控件

在大多数 ASP.NET Web 窗体应用程序,您将添加允许用户与页面按钮、 文本框、 列表等交互的控件。这些 Web 服务器控件是类似于 HTML 按钮和输入的元素。但是,他们在处理在服务器上,允许您使用服务器代码来设置它们的属性。这些控件还引发事件,您可以在服务器代码中处理。

服务器控件使用 ASP.NET 承认在页运行时的特殊语法。ASP.NET 服务器控件的标记名称开头asp:前缀。这允许 ASP.NET 识别处理这些服务器控件。前缀可能是不同的如果该控件不是.NET 框架的一部分。除了asp:前缀,ASP.NET 服务器控件还包括runat="server"属性,您可以使用引用服务器代码中的控件的ID 。

页运行时,ASP.NET 服务器控件用于标识和运行的代码,是与这些控件关联。它在浏览器中显示时,许多控件呈现到页面一些 HTML 或其他标记。

服务器代码

大多数 ASP.NET Web 窗体应用程序中包括的页进行处理时,在服务器运行的代码。如上文所述,可以使用服务器代码来做各种各样的事情,例如将数据添加到 ListView 控件。ASP.NET 支持许多种语言运行在服务器上,包括 C#、 Visual Basic、 J# 和其他人。

ASP.NET 支持两种模型编写 Web 页的服务器代码。在单文件模型中,页的代码是在一个脚本元素的开始标记包括在哪里runat="server"属性。或者,您可以在一个单独的类文件,称为代码隐藏模型创建页面的代码。在这种情况下,ASP.NET Web 窗体页通常不包含服务器代码。相反, @Page 指令包括信息链接.aspx页与其关联的代码隐藏文件。

@Page指令中所载的CodeBehind属性指定单独的类文件的名称和Inherits属性指定对应于页的代码隐藏文件中的类的名称。

更新母版页

在 ASP.NET Web 窗体,母版页使您可以在您的应用程序中创建一致的布局的页面。单个母版页应用程序中定义的外观和感觉与你想要的页面 (或一组页面) 所有的标准行为。然后,你可以创建各个内容页,其中包含您想要显示,如上文所述的内容。当用户请求内容页时,ASP.NET 将它们合并与母版页,产生将母版页的布局与内容页中的内容结合起来的输出。

新网站需要一个单一的标志,在每一页上显示。若要添加此徽标,您可以修改该母版页的网页上的 HTML。

  1. 解决方案资源管理器中,找到并打开Site.Master页。
  2. 如果页处于设计视图中,切换到视图。
  3. 通过修改或添加标记以黄色突出显示更新该母版页的网页 ︰
    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="WingtipToys.SiteMaster" %>
    
    <!DOCTYPE html>
    
    <html lang="en">
    <head runat="server">
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title><%: Page.Title %> - Wingtip Toys</title>
    
        <asp:PlaceHolder runat="server">
            <%: Scripts.Render("~/bundles/modernizr") %>
        </asp:PlaceHolder>
        <webopt:bundlereference runat="server" path="~/Content/css" />
        <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    
    </head>
    <body>
        <form runat="server">
            <asp:ScriptManager runat="server">
                <Scripts>
                    <%--To learn more about bundling scripts in ScriptManager see http://go.microsoft.com/fwlink/?LinkID=301884 --%>
                    <%--Framework Scripts--%>
                    <asp:ScriptReference Name="MsAjaxBundle" />
                    <asp:ScriptReference Name="jquery" />
                    <asp:ScriptReference Name="bootstrap" />
                    <asp:ScriptReference Name="respond" />
                    <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />
                    <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />
                    <asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />
                    <asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" />
                    <asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" />
                    <asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" />
                    <asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" />
                    <asp:ScriptReference Name="Focus.js" Assembly="System.Web" Path="~/Scripts/WebForms/Focus.js" />
                    <asp:ScriptReference Name="WebFormsBundle" />
                    <%--Site Scripts--%>
                </Scripts>
            </asp:ScriptManager>
    
            <div class="navbar navbar-inverse navbar-fixed-top">
                <div class="container">
                    <div class="navbar-header">
                        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                        <a class="navbar-brand" runat="server" href="~/">Wingtip Toys</a>
                    </div>
                    <div class="navbar-collapse collapse">
                        <ul class="nav navbar-nav">
                            <li><a runat="server" href="~/">Home</a></li>
                            <li><a runat="server" href="~/About">About</a></li>
                            <li><a runat="server" href="~/Contact">Contact</a></li>
                        </ul>
                        <asp:LoginView runat="server" ViewStateMode="Disabled">
                            <AnonymousTemplate>
                                <ul class="nav navbar-nav navbar-right">
                                    <li><a runat="server" href="~/Account/Register">Register</a></li>
                                    <li><a runat="server" href="~/Account/Login">Log in</a></li>
                                </ul>
                            </AnonymousTemplate>
                            <LoggedInTemplate>
                                <ul class="nav navbar-nav navbar-right">
                                    <li><a runat="server"href="~/Account/Manage"title="Manage your account">Hello, <%:Context.User.Identity.GetUserName()  %> !</a></li><li><asp:LoginStatusrunat="server"LogoutAction="Redirect"LogoutText="Log off"LogoutPageUrl="~/"OnLoggingOut="Unnamed_LoggingOut"/></li></ul></LoggedInTemplate></asp:LoginView></div></div></div><divid="TitleContent"style="text-align: center"><arunat="server"href="~/"><asp:ImageID="Image1"runat="server"ImageUrl="~/Images/logo.jpg"BorderStyle="None"/></a><br/></div><divclass="container body-content"><asp:ContentPlaceHolderID="MainContent"runat="server"></asp:ContentPlaceHolder><hr/><footer><p>&copy; <%:DateTime.Now.Year %> - Wingtip Toys</p></footer></div></form></body></html>

此 HTML 将显示名为院士从 Web 应用程序,您将在以后添加的图像文件夹的图像。当使用该母版页的网页在浏览器中显示时,将显示该徽标。如果用户单击该标志,用户将返回到Default.aspx页面导航。HTML 锚标记<a>包装图像服务器控件并允许图像要作为链接的一部分。定位点标记的href属性指定的根"~/"的网站作为链接位置。默认情况下,当用户导航到 Web 站点的根目录时,会显示Default.aspx页面。图像<asp:Image>服务器控件包括添加属性,如BorderStyle,呈现为 HTML 时在浏览器中显示。

母版页

母版页与预定义的布局可以包含静态文本、 HTML 元素和服务器控件是 ASP.NET 文件,扩展名.master (例如, Site.Master)。该母版页的网页来替换用于普通.aspx页的@Page指令特别@Master指令识别。

除了@Master指令,母版页还包含所有顶级的 HTML 元素,例如htmlheadform页。例如,在母版页上添加上面,使用 HTMLtable布局,img元素用于公司徽标、 静态文本和服务器控件处理常见会员为您的网站。你可以使用任何 HTML 和任何 ASP.NET 元素作为您的主页面的一部分。

除了静态文本和控件将显示在所有页上,该母版页的网页还包括一个或多个占位符控件。这些占位符控件定义可替换内容将出现的区域。反过来,如Default.aspx,使用内容服务器控件的内容页中定义可替换内容。

添加图像文件

引用上面,以及所有的产品图像,徽标图像必须添加到 Web 应用程序,以便他们可以看到,当在浏览器中显示该项目。

从 MSDN 示例站点下载 ︰

ASP.NET 4.5 Web 窗体和视觉工作室 2013-翼尖玩具入门(C#)

下载包括WingtipToys 资产文件夹用于创建示例应用程序中的资源。

  1. 如果没有这样做,压缩的试样使用下载文件上面的链接从 MSDN 示例网站。
  2. 下载完成后,打开.zip 文件,将内容复制到您的计算机上的本地文件夹。
  3. 查找并打开WingtipToys 资产文件夹。
  4. 通过拖放、 复制目录文件夹从您的本地文件夹到 Visual Studio 的解决方案资源管理器中的 Web 应用程序项目的根目录。

    UI and Navigation - Copy Files

  5. 接下来,创建一个新的文件夹,用鼠标右键单击解决方案资源管理器中的WingtipToys项目命名图像并选择添加->新文件夹.
  6. 院士文件从文件资源管理器中的WingtipToys 资产文件夹复制到 Visual Studio 的解决方案资源管理器中的 Web 应用程序项目的图像文件夹。
  7. 单击解决方案资源管理器的顶部显示所有文件选项,以更新的文件的列表,如果你看不到新的文件。

    解决方案资源管理器现在显示已更新的项目文件。

    UI and Navigation - Solution Explorer

添加页面

在添加之前导航到 Web 应用程序,您将首先添加你会定位到的两个新页面。稍后在本系列教程,您将在这些新的页面上显示产品和产品详细信息。

  1. 解决方案资源管理器中,右键单击WingtipToys,单击添加,然后单击新项目
    将显示添加新项对话框。
  2. 选择Visual C# -> 左边的Web模板组。然后,从中间的列表中选择与母版页的 Web 窗体并将其命名ProductList.aspx.

    UI and Navigation - Add New Item Dialog

  3. 选择Site.Master将母版页附加到新创建的.aspx页。

    UI and Navigation - Select Master Page

  4. 添加附加页面命名ProductDetails.aspx通过执行这些相同步骤。

更新引导

视觉工作室 2013年项目模板使用引导、 版式和主题框架创建的 Twitter。引导使用 CSS3 提供快速响应的设计,这意味着布局可以动态地适应不同的浏览器窗口大小。您还可以使用引导的主题功能,很容易影响应用程序的外观和感觉变化。默认情况下,ASP.NET Web 应用程序模板视觉工作室 2013 年作为 NuGet 包包括引导。

在本教程中,您将通过替换引导 CSS 文件更改的翼尖玩具应用程序的外观和感觉。

  1. 解决方案资源管理器,打开的内容的文件夹。
  2. 右键单击bootstrap.css文件,然后将它重命名为引导 original.css.
  3. bootstrap.min.css重命名为引导 original.min.css.
  4. 解决方案资源管理器中,右键单击内容文件夹并选择在文件资源管理器中打开文件夹.
    文件资源管理器中将会显示。会将下载的引导 CSS 文件保存到此位置。
  5. 在您的浏览器,转到http://Bootswatch.com.
  6. 滚动浏览器窗口,直到你看到蔚蓝的主题。

    UI and Navigation - Cerulean Theme

  7. bootstrap.css文件和bootstrap.min.css文件下载到的内容文件夹。使用在你以前打开过的文件资源管理器窗口中显示的内容文件夹的路径。
  8. Visual Studio解决方案资源管理器顶部,选择显示所有文件选项,在内容文件夹中显示的新文件。

    UI and Navigation - Solution Explorer

    您将看到两个新的 CSS 文件中的内容的文件夹,但请注意,每个文件名称旁边的图标显示为灰色。这意味着该文件尚未尚未添加到该项目。
  9. 右键单击bootstrap.cssbootstrap.min.css文件,选择包括在项目
    当您运行该翼尖玩具应用程序稍后在本教程中时,将显示新的用户界面。

注意  

ASP.NET Web 应用程序模板使用在项目的根目录下的Bundle.config文件来存储引导 CSS 文件的路径。

修改默认导航

可以通过更改Site.Master页中的无序的导航列表元素修改为每个应用程序中的页面默认导航。

  1. 解决方案资源管理器中,找到并打开Site.Master页。
  2. 添加额外的导航链接突出显示的黄色到无序的列表,如下所示 ︰
    <ul class="nav navbar-nav">
        <li><a runat="server" href="~/">Home</a></li>
        <li><a runat="server" href="~/About">About</a></li>
        <li><a runat="server" href="~/Contact">Contact</a></li>
        <li><a runat="server" href="~/ProductList">Products</a></li>
    </ul>

你可以看到在上面的 HTML,您修改每个行项目<li>包含锚标记<a>与链接的href属性。每个href指向 Web 应用程序中的页面。在浏览器中,当用户点击这些链接 (例如,产品) 之一,他们将导航到href (如ProductList.aspx) 中所载的页面。在本教程的结尾,您将运行应用程序。

注意  

颚化符 (~) 字符被用来指定href路径开头的项目的根。

添加数据控件以显示导航数据

接下来,您将添加一个控件来显示所有从数据库类别。每个类别将作为ProductList.aspx页面的链接。当用户点击浏览器中的类别链接时,他们将导航到产品页,看到只有与所选类别关联的产品。

您将使用ListView控件可以显示数据库中包含的所有类别。将一个ListView控件添加到该母版页的网页 ︰

  1. Site.Master页中,添加以下突出显示<div>元素 <div>元素包含id="TitleContent" ,您前面添加 ︰
            <div id="TitleContent" style="text-align: center">
                <a runat="server" href="~/">
                    <asp:Image  ID="Image1" runat="server" ImageUrl="~/img/logo.jpg" BorderStyle="None" />
                </a>  
                <br />  
            </div>
            <div id="CategoryMenu" style="text-align: center">       
                <asp:ListView ID="categoryList"  
                    ItemType="WingtipToys.Models.Category" 
                    runat="server"
                    SelectMethod="GetCategories" >
                    <ItemTemplate>
                        <b style="font-size: large; font-style: normal">
                            <a href="/ProductList.aspx?id=<%#: Item.CategoryID %>">
                            <%#: Item.CategoryName %>
                            </a>
                        </b>
                    </ItemTemplate>
                    <ItemSeparatorTemplate>  |  </ItemSeparatorTemplate>
                </asp:ListView>
            </div>

此代码将显示从数据库的所有类别。ListView控件将每个类别名称显示为链接文本,并包括一个查询字符串值,包含的类别ID ProductList.aspx页面的链接。通过将ItemType属性设置ListView控件中,数据绑定表达式Item中有可用的ItemTemplate节点和控制成为强类型化。您可以选择使用智能感知,例如指定CategoryNameItem对象的详细信息。此代码包含在容器内<%#: %> ,标志着一个数据绑定表达式。通过将 (::) 添加到年底<%#前缀,数据绑定表达式的结果是 HTML 编码。HTML 编码结果时,您的应用程序更好地被保护免受跨站点脚本 (XSS) 注射和 HTML 注入式攻击。

小贴士  

当您通过键入在开发过程中添加代码时,你可以肯定对象的一个有效的成员发现因为强类型数据控件显示可用的成员基于智能感知。智能感知提供了适当的上下文代码选择当您键入的代码,如属性、 方法和对象。

在接下来的步骤中,您将实现GetCategories方法以检索数据。

将数据控件链接到数据库

你可以在数据控件中显示数据之前,您需要将数据控件链接到数据库。要使链接,您可以修改Site.Master.cs文件后面的代码。

  1. 解决方案资源管理器,右键单击Site.Master页,然后单击查看代码在编辑器中打开Site.Master.cs文件。
  2. 附近Site.Master.cs文件的开头,添加两个额外的命名空间,以便所有包含的命名空间如下所示 ︰
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Linq;
    using WingtipToys.Models;
  3. 将突出显示的GetCategories方法,如下所示添加之后Page_Load事件处理程序 ︰
    protected void Page_Load(object sender, EventArgs e)
    {
    
    }
    
    public IQueryable<Category> GetCategories()
    {
      var _db = new WingtipToys.Models.ProductContext();
      IQueryable<Category> query = _db.Categories;
      return query;
    }
    

上面的代码时,任何使用该母版页的页加载在浏览器中执行。ListView控件 (命名"categoryList") 较早前在本教程中添加使用模型绑定来选择数据。ListView控件的标记中您将控件的SelectMethod属性设置为GetCategories方法,如上所示。ListView控件在页生命周期的适当时间调用GetCategories方法,并自动绑定返回的数据。你将了解更多有关数据绑定在下一篇教程中。

运行应用程序和创建数据库

早些时候在本系列教程创建 (名为"ProductDatabaseInitializer") 的初始值设定项类和动作文件中指定此类。实体框架将生成的数据库应用程序时运行第一次,因为动作文件中包含的Application_Start方法将调用初始值设定项。初始值设定项类将使用您早些时候在本系列教程以创建数据库中添加模型类 (CategoryProduct)。

  1. 解决方案资源管理器中,右键单击Default.aspx页面并选择设为起始页.
  2. 在 Visual Studio 中按f5 键
    它会花一点时间,在这第一次运行期间设置一切。
    UI and Navigation - Browser Windows
    当您运行该应用程序时,应用程序将编译并将的App_Data文件夹中创建名为wingtiptoys.mdf的数据库。在浏览器中,您将看到一个分类导航菜单。此菜单是由从数据库中检索类别生成的。在接下来的教程中,您将实现导航。
  3. 关闭浏览器停止正在运行的应用程序。

查看数据库

打开Web.config文件,看看连接字符串部分。你可以看到连接字符串中的AttachDbFilename值指向DataDirectory的 Web 应用程序项目。|DataDirectory|是保留的值,该值表示项目中的App_Data文件夹。此文件夹是由实体类创建的数据库所在的位置。

  <connectionStrings>
    <add name="DefaultConnection" 
         connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WingtipToys-20120302100502;Integrated Security=True" 
         providerName="System.Data.SqlClient" />
    <add name="WingtipToys" 
         connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\wingtiptoys.mdf;Integrated Security=True" 
         providerName="System.Data.SqlClient " />
  </connectionStrings>

注意  

如果是不可见的App_Data文件夹或该文件夹为空,请选择刷新图标,然后在解决方案资源管理器窗口顶部显示所有文件图标。可能要求扩大解决方案资源管理器窗口的宽度,以显示所有可用的图标。

现在您可以检查使用服务器资源管理器窗口中的wingtiptoys.mdf数据库文件包含的数据。

  1. 展开App_Data文件夹。如果App_Data文件夹不可见,请参阅上面的说明。
  2. 如果wingtiptoys.mdf数据库文件不是可见的请选择刷新图标,然后在解决方案资源管理器窗口顶部显示所有文件图标。
  3. 右键单击wingtiptoys.mdf数据库文件,然后选择打开.
    服务器资源管理器中显示。

    UI and Navigation - Server Explorer

  4. 展开文件夹。
  5. 用鼠标右键单击产品 表并选择显示表数据.
    将显示产品表。

    UI and Navigation - Products Table

  6. 此视图允许您查看和手工修改产品表中的数据。
  7. 关闭产品表窗口。
  8. 服务器资源管理器中,再次右键单击产品表,并选择打开表定义.
    将显示产品表的数据设计。

    UI and Navigation - Products Design

  9. T-SQL选项卡中,您将看到用于创建表的 SQL DDL 语句。也可以在设计选项卡中使用的 UI 修改架构。
  10. 服务器资源管理器中,右击WingtipToys数据库,选择关闭连接
    通过分离从 Visual Studio 数据库,数据库架构将能够稍后在本系列教程中修改。
  11. 返回到解决方案资源管理器 通过选择解决方案资源管理器选项卡,在服务器资源管理器窗口的底部。

摘要

在本教程系列中添加了一些基本的用户界面、 图形、 页面和导航。此外,你跑的 Web 应用,从您在前面的教程中添加的数据类创建了数据库。您还通过直接查看数据库查看数据库的产品表的内容。在下一篇教程中,您将显示数据项和从数据库的详细信息。

更多的资源

ASP.NET 网页编程简介 
ASP.NET Web 服务器控件概述 
CSS 教程

这篇文章的初衷是在 2014 年 1 月 8 日

作者信息

Erik Reitan
 
posted @ 2016-05-02 01:02  迅捷之风  阅读(180)  评论(0编辑  收藏  举报