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

 更新时间:2016年06月17日 18:31:09   投稿:goldensun  
.NET框架中提供了很多数据绑定的组件,这里我们就来总结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.单击“结束模板编辑”退出模板编辑模式。
当该页在浏览器中显示时,公司列表会交替显示为纯文本和粗体文本。

相关文章

  • 两种获取connectionString的方式案例详解

    两种获取connectionString的方式案例详解

    这篇文章主要介绍了两种获取connectionString的方式案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • ASP.NET数据绑定之GridView控件

    ASP.NET数据绑定之GridView控件

    这篇文章主要为大家介绍了ASP.NET数据绑定中的GridView控件,GridView控件的功能是在web页面中显示数据源中的数据,对GridView控件感兴趣的小伙伴们可以参考一下
    2016-01-01
  • ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0)

    ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0)

    这篇文章主要为大家详细介绍了ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0),感兴趣的小伙伴们可以参考一下
    2016-07-07
  • c# rabbitmq 简单收发消息的示例代码

    c# rabbitmq 简单收发消息的示例代码

    这篇文章主要介绍了c# rabbitmq 简单收发消息的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • ASP.NET比较常用的26个性能优化技巧

    ASP.NET比较常用的26个性能优化技巧

    这篇文章主要给大家介绍asp.net中比较常用的26个性能优化技巧,主要设计到asp.net中常用的26个性能优化方面的内容,对于asp.net中常用的26个性能优化技巧感兴趣的朋友可以参考下本篇文章
    2015-10-10
  • http转https的实战记录(iis 7.5)

    http转https的实战记录(iis 7.5)

    这篇文章主要给大家介绍了关于http转https的相关资料,文中是最近的一次实战记录,基于iis7.5,通过一步步的图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-01-01
  • asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法

    asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法

    今天偶尔用到这个控件,简单记录下~~~~
    2008-11-11
  • 详解ASP.NET Core部署项目到Ubuntu Server

    详解ASP.NET Core部署项目到Ubuntu Server

    这篇文章主要介绍了详解ASP.NET Core部署项目到Ubuntu Server ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 如何建立ASP.NET站点

    如何建立ASP.NET站点

    这篇文章主要介绍了如何建立ASP.NET站点,具有一定的参考价值,需要的朋友可以参考一下
    2015-10-10
  • ASP.NET MVC获取多级类别组合下的产品

    ASP.NET MVC获取多级类别组合下的产品

    这篇文章介绍了ASP.NET MVC获取多级类别组合下产品的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09

最新评论