在模板化控件中绑定到数据
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>
<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>
本文地址:https://www.stayed.cn/item/23362
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我