总结Visual Studio下ASP.NET模板化控件中的数据绑定

在模板化控件中绑定到数据
FormView、DataList、Repeater 和 ListView Web 服务器控件使用模板显示数据和检索用户输入,以插入、更新或删除数据。此外,您还可以将模板与 GridView 和 DetailsView 控件一同使用,以自定义数据布局。
通过将模板化控件的 DataSourceID 属性设置为数据源控件的 ID,可以将模板化控件绑定到数据源控件(例如 LinqDataSource、ObjectDataSource 或 SqlDataSource 控件)。然后可以在模板中使用 Eval 和 Bind 函数绑定到数据源中的数据。有关更多信息,请参见 数据绑定表达式语法。
使用模板将控件绑定到数据
1.向页添加数据源控件(如 SqlDataSource 控件),如下面的示例所示:

<asp:SqlDataSource ID="SqlDataSource1"
 SelectCommand="SELECT * FROM [Products]"
 ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>"
 RunAt="server">
</asp:SqlDataSource>

2.添加一个支持模板的控件,如 ASP.NET FormView 控件。
3.将模板化控件的 DataSourceID 属性设置为步骤 1 中数据源控件的 ID,如此示例中所示:

<asp:FormView ID="FormView1"
 DataSourceID="SqlDataSource1"
 DataKeyNames="ProductID"
 Runat="server">
</asp:FormView>

4.向模板化控件添加模板并使用控件和标记填充这些模板。
5.若要显示数据,请将 Eval 函数作为属性设置使用,并引用绑定数据字段。在用于插入或编辑数据的模板中,使用 Bind 函数引用数据绑定字段,如以下示例所示:

<asp:FormView ID="FormView1"
 DataSourceID="SqlDataSource1"
 DataKeyNames="ProductID"
 RunAt="server">

 <ItemTemplate>
  <table>
   <tr><td align="right"><b>Product ID:</b></td>    <td><%# Eval("ProductID") %></td></tr>
   <tr><td align="right"><b>Product Name:</b></td>   <td><%# Eval("ProductName") %></td></tr>
   <tr><td align="right"><b>Category ID:</b></td>   <td><%# Eval("CategoryID") %></td></tr>
   <tr><td align="right"><b>Quantity Per Unit:</b></td><td><%# Eval("QuantityPerUnit") %></td></tr>
   <tr><td align="right"><b>Unit Price:</b></td>    <td><%# Eval("UnitPrice") %></td></tr>
  </table>
 </ItemTemplate>
</asp:FormView>

每个 Web 服务器控件支持不同的模板。例如,Repeater 控件支持一个 ItemTemplate 和一个 AlternatingItemTemplate,以使用交替控件、样式和标记来显示数据。

绑定到Visual Studio的模板化控件中的数据
可以将一个控件(例如 GridView、DetailsView、FormView、ListView、DataList 或 Repeater 控件)与一个数据源控件(例如 LinqDataSource、ObjectDataSource 或 SqlDataSource 控件)关联起来。此外还可以使用控件的模板(ListView、DataList、Repeater 和 FormView 控件需要模板)在设计器中通过自定义用户界面 (UI) 来自定义数据表示形式。
此主题演示如何将用户界面控件(如 TextBox 控件)添加到模板中并将该控件绑定到特定数据。
将模板控件绑定到数据源
1.在页上建立有效的数据源(如 SqlDataSource 控件),并注意 ID 属性值。
例如:

<asp:SqlDataSource ID="SqlDataSource1" Runat="server"
 SelectCommand="SELECT CustomerID, CompanyName FROM Customers"
 ConnectionString="<%$
  ConnectionStrings:NorthwindConnectionString %>">
</asp:SqlDataSource>

有关如何将 SqlDataSource 控件用于数据库的更多信息,请参见 SqlDataSource Web 服务器控件概述。
2.从工具箱的“数据”组中,将 DataList 控件拖动到页面上。
出现“DataList 任务”快捷菜单。
如果“DataList 任务”快捷菜单没有出现,右击 DataList 控件,再单击“显示智能标记”。
3.在“选择数据源”列表中,单击在步骤 1 中创建的 SqlDataSource 控件。
当呈现该页时,该控件会显示来自未自定义的查询的所有列和数据。根据数据的不同,显示的 DataList 控件将带有默认绑定字段,如下面的代码示例所示:

<asp:DataList ID="DataList1" runat="server"
  DataKeyField="CustomerID"
  DataSourceID="SqlDataSource1">
 <ItemTemplate>
  CustomerID:
  <asp:Label ID="CustomerIDLabel" runat="server"
    Text='<%# Eval("CustomerID") %>'>
  </asp:Label><br />
  CompanyName:
  <asp:Label ID="CompanyNameLabel" runat="server"
    Text='<%# Eval("CompanyName") %>'>
  </asp:Label><br />
  <br />
 </ItemTemplate>
</asp:DataList>

编辑控件的模板
1.在“设计”视图中右击 DataList 控件,再单击“显示智能标记”。
2.在“DataList 任务”菜单上单击“编辑模板”。
现在可以在设计器中编辑模板。可以将其他控件拖动到模板上以便以后进行绑定。
3.在“显示”列表中单击“AlternatingItemTemplate”(不同的控件支持不同的模板)。
4.在 AlternatingItemTemplate 设计空间中键入 CustomerID:,然后从“工具箱”的“标准”组中将一个 T:System.Web.UI.WebControls.Label 控件拖动到 DataList 控件上。
5.在“Label 任务”菜单上单击“编辑数据绑定”。
6.在“标签名 数据绑定”对话框中的“可绑定属性”下,单击“Text”。
7.在“绑定到”列表中的“文本的绑定”下单击“CustomerID”。
8.为 CompanyName 重复第 4 步到第 7 步。
9.在“AlternatingItemTemplate”设计空间中,选择所有内容,然后按 Ctrl+B 将文本更改为粗体。
10.右击 DataList 控件,然后单击“显示智能标记”。
11.单击“结束模板编辑”退出模板编辑模式。
当该页在浏览器中显示时,公司列表会交替显示为纯文本和粗体文本。

(0)

相关推荐

  • ASP.NET数据绑定之DataList控件实战篇

    上篇文章大概讲了DataList的一些基础知识,掌握这些知识在将来的应用中起到很大的作用,现在我们就开始讲上篇文章中说的基础知识做一个小例子.     首先,我机子的数据库中有一张person表,如下图所示. 现在,我们用DataList控件将表中的信息显示出来,并可以在DataList控件上对数据库中的表进行编辑操作.     1.首先用vs创建web应用程序,添加web窗体,在web窗体内拉入DataList控件,右击控件,选择编辑项模板,在这里我们能看到四个模板,其中两个是Selected

  • AspNetAjaxPager,Asp.Net通用无刷新Ajax分页控件,支持多样式多数据绑定

    本控件可以对GridView,Repeater,DataGrid,DataList...几乎所有的.net数据绑定控件进行分页,全部无刷新,数据绑定部分可以使用存储过程也可以直接使用sql语句,这对本控件没有任何干扰!本控件具有较好的用户界面,能够根据需要变换各种样式,配合css控制效果则更好! 1.分页样式效果图: 2.如何使用: 于bin目录下添加:AspNetAjaxPager.dll引用 aspx文件内容: 复制代码 代码如下: <%@ Page Language="C#"

  • 浅谈ASP.NET常用数据绑定控件优劣总结

    本文的初衷在于对Asp.net常用数据绑定控件进行一个概览性的总结,主要分析各种数据绑定控件各自的优缺点,以便在实际的开发中选用合适的控件进行数据绑定,以提高开发效率. 因为这些数据绑定控件大部分都已经封装的很好了,稍微有一些基础的朋友都可以很容易的上手使用,所以本文不涉及具体控件的使用,只在于分析各自的优劣点,但是在下一篇文章里,我会主要讲一下ListBox.GridView.Repeater这三个数据绑定控件的"高效分页",ListBox和GridView内置的有分页,但是其效率太

  • ASP.NET数据绑定之Repeater控件

    在ASP.NET的学习过程中,其控件的学习和使用占了很大的一部分,本文为大家介绍一下控件Repeater控件的使用,用它来绑定后台数据,然后在客户端(浏览器)上显示出来! 一. Repeater控件 1.用途:使用模板循环显示数据. 2.包含的模板: <ItemTemplate></ItemTemplate> 项目模板(里面的数据正常显示) <AlternatingItemTemplate></AlternatingItemTemplate> 交错显示模板(

  • 详解ASP.NET数据绑定操作中Repeater控件的用法

    一.绑定控件之Repeater .NET封装了多种数据绑定控件,诸如GridView.DataList等但该篇文章将会从Repeater入手,因为Repeater只提供了基本的数据绑定模板,没有内置其它分页等功能,所以它是最原始的数据绑定控件,只要能够熟练运用Repeater控件其它的绑定控件也就很简单了. 1.Repeater简介 Repeater 控件是基本模板化数据列表. 它不像GridView控件一样能够可视化的设计格式或样式,因此开发时在控件模板中必须显式声明所有格式.格式和样式标记.

  • ASP.NET数据绑定GridView控件使用技巧

    不得不说GridView控件的功能确实很强大,一个简简单单的控件就可以把数据管理的很美.在这两天做的任务中碰到的一些GridView控件中遇到的问题进行总结: ①:在GridView控件中随意显示数据库中的信息: GridView控件中有一个AutoGenerateColumns属性,它的作用就是控制GridView控件是否在运行的时候自动生成相关联的列,一般情况下把这个属性设置成为false.因为我们需要的是一个DIY的GridView控件.然后点击右上角的箭头,选择编辑列添加一个BoundF

  • ASP.NET数据绑定之DataList控件

    DataList控件是.NET中的一个控件.DataList控件以表的形式呈现数据(在属性生成器中可以编辑),通过该控件,您可以使用不同的布局来显示数据记录(使用模板编辑),例如,将数据记录排成列或行的形式.您可以对 DataList控件进行配置,使用户能够编辑或删除表中的记录(使用EditItemTemplate模板和SelectedItemTemplate模板).DataList控件不使用数据源控件的数据修改功能,您必须自己提供此代码. 一.DataList 与 Repeater比较    

  • ASP.NET数据绑定之GridView控件

    GridView 是 DataGrid的后继控件,在.net framework 2 中,虽然还存在DataGrid,但是GridView已经走上了历史的前台,取代DataGrid的趋势已是势不挡.  作用:其功能是在web页面中显示数据源中的数据.GridView和DataGrid功能相似,都是在web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在web页面上输出表格中的一行.     在此GirdView的详细属性和事件我不再阐述.下面我只是简单介绍一下GirdVi

  • ASP.NET数据绑定控件详解

    ListBox.GridView.Repeater这三个数据绑定控件的"高效分页",ListBox和GridView内置的有分页,但是其效率太低了,少量的数据还可以,大量的数据根本就没法用,Repeater控件本身不提供分页,但是在实际的开发中可能也会有用到分页,所以也会给大家讲一下,Repeater的分页. 好了,现在开始进入正题,先从比较常用的控件说起. 一.GridView控件 主要特点:支持删.改,排序.分页.外观设置.自定义显示数据 缺 点:影响程序性能.不支持插入操作 这个

  • 总结Visual Studio下ASP.NET模板化控件中的数据绑定

    在模板化控件中绑定到数据 FormView.DataList.Repeater 和 ListView Web 服务器控件使用模板显示数据和检索用户输入,以插入.更新或删除数据.此外,您还可以将模板与 GridView 和 DetailsView 控件一同使用,以自定义数据布局. 通过将模板化控件的 DataSourceID 属性设置为数据源控件的 ID,可以将模板化控件绑定到数据源控件(例如 LinqDataSource.ObjectDataSource 或 SqlDataSource 控件).

  • 使用Visual Studio创建ASP.NET Web API项目

    在本篇文章中将讲解如何使用Visual Studio创建一个新的ASP.NET Web API项目. 在VisualStudio中有两种方式用于创建WebAPI项目: 1.创建带MVC的WebAPI项目. 2.创建独立的WebAPI项目. 一.创建带MVC的WebAPI项目 在示例程序中使用的是VisualStudio 2013版本,创建一个新的WebAPI项目并且带MVC的模板,它包含了所有必要的引用. 1.选择“文件”->“新建”->“项目”,截图如下所示: 2.在弹出的新建项目窗口中,左

  • Visual Studio 2017 ASP.NET Core开发

    Visual Studio 2017 ASP.NET Core开发,Visual Studio 2017 已经内置ASP.NET Core 开发工具. 在选择.NET Core 功能安装以后就可以进行ASP.NET Core开发. 新的ASP.NET Core项目为csproj ,打开之前的xproj项目,会提示单向升级,确认以后,会自动帮你升级至csproj. 新建项目 VS 2017新建ASP.NET Core 项目: 确定以后 可选择ASP.NET Core 1.0 和ASP.NET Co

  • ASP.NET框架中的数据绑定概要与数据绑定表达式的使用

    <%# %> 语法 ASP.NET 介绍了一种新的声明性语法 <%# %>.该语法是在 .aspx 页中使用数据绑定的基础.所有数据绑定表达式都必须包含在这些字符中.下面的列表包含从多个源进行简单数据绑定的示例: 简单属性(用于客户的语法): <%# custID %> 集合(用于订单的语法): <asp:ListBox id="List1" datasource='<%# myArray %>' runat="serve

  • 在Visual Studio Code中使用CSSComb格式化CSS文件的教程

    Microsoft在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器. 今天通过本文给大家介绍在Visual Studio Code中使用CSSComb格式化CSS文件. 最近在使用Visual Studio Code,开始逐渐上手,发现非常好用. 不管是在JS文件还是在HTML文件中,右键点击,都有"格式化文件"的

  • Visual Studio 2010 前端开发工具/扩展/插件推荐

    怎么样让Visual Studio更好地编写HTML5, CSS3, JavaScript, jQuery,换句话说就是如何更好地做前端开发.Visual Studio 2010不管是旗舰版还是免费版都没有对前端开发方面做充分的优化.不要希望VS默认安装这些东西,我们有很多VS的扩展可是使用. 这里列出的大多数扩展都可以使用Extension Manager (Tools > Extension Manager)来安装,你可以通过Visual Studio Gallery网站下载这些扩展. We

  • 使用Visual Studio进行动态链接库开发流程

    一.动态链接库和动态链接 动态链接库:在 Windows 中,动态链接库 (DLL) 是作为函数和资源的共享库的一种可执行文件.在调用它们的应用程序的上下文中运行. 动态链接:动态链接是操作系统功能.操作系统将 DLL 加载到应用程序的内存空间中,它可使执行文件调用函数或使用存储在单独文件中的资源. 动态链接库有什么用: DLL 可以在可执行文件之间轻松共享函数和资源. 多个应用程序可同时访问内存中单个 DLL 副本的内容. 二.和静态链接的区别 这部分我们只需要知道静态链接把所有的执行需要的库

  • 如何在ASP.Net Core中使用Serilog

    记录日志的一个作用就是方便对应用程序进行跟踪和排错调查,在实际应用上都是引入 日志框架,但如果你的 日志文件 包含非结构化的数据,那么查询起来将是一个噩梦,所以需要在记录日志的时候采用结构化方式. 将日志结构化可以更容易的查询和分析,做法就是在写入的时候定义好数据的格式,这种格式包括:xml,json,或者你希望转成的任何结构. Serilog 是一个第三方,开源的结构化日志框架,它的高层封装可以让开发者更容易的将日志记录到 console,file 和你能想到的各种 存储系统,这篇文章我们将会

  • ASP.NET Core中的环境配置

    1.环境变量配置 ASP.NET Core在应用程序启动时读取环境变量(Properties\launchSettings.json)ASPNETCORE_ENVIRONMENT,并将该值存储在IHostingEnvironment.EnvironmentName中.ASPNETCORE_ENVIRONMENT可设置为任意值,但框架只支持三个值:Development(开发).Staging (分阶段)和 Production(生产).如果未设置ASPNETCORE_ENVIRONMENT,则默

  • 一文教你将Visual Studio Code变成Python开发神器

    目录 安装 Visual Studio Code 在 VS Code 中创建和运行 Python 文件 使用 REPL 格式化 Python 代码 重构 Python 代码 Python 交互窗口 Visual Studio Code 是一款功能强大.可扩展且轻量级的代码编辑器,经过多年的发展,已经成为 Python 社区的首选代码编辑器之一 下面我们将学习如何安装 Visual Studio Code 并将其设置为 Python 开发工具,以及如何使用 VS Code 提高编程工作效率 Let

随机推荐