.NET数据绑定时BoundField与TemplateField的区别

在.NET中,数据绑定列是通过 asp:BoundField 或 TemplateField 元素定义的。通过设置 DataField 属性,可以将 BoundField 绑定到 GridView 的关联数据源:

<asp:BoundField HeaderText="ShipCity" DataField="ShipCity"
    SortExpression="ShipCity"></asp:BoundField>

这将告诉 GridView 控件,当它处于查看模式时,应该在 span 元素中显示 ShipCity 值。当 GridView 处于编辑模式时,选定行中的这一列将在适当的 HTML 元素中显示。在这种情况下,HTML 元素为 TextBox,因为它是一个字符串值。该元素是基于绑定列的数据类型选择的。例如,如果该列在 SQL Server 中被定义为位,则将使用 CheckBox 控件在编辑模式下显示该列。

TemplateField 元素在绑定列的行为方式方面提供了更大的灵活性。请观察以下摘自 Orders_SDS.aspx 页的代码示例:

<asp:TemplateField SortExpression="OrderDate" HeaderText="OrderDate">
    <ItemTemplate>
        <asp:Label ID="lblOrderDate_Item" Runat="server"
            Text='<%# Bind("OrderDate", "{0:d}") %>'></asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
        <asp:TextBox ID="txtOrderDate_Edit" Runat="server"
            Text='<%# Bind("OrderDate", "{0:d}") %>'></asp:TextBox>
    </EditItemTemplate>
</asp:TemplateField>

当 GridView 处于查看模式时,它使用 TemplateColumn 在 Label 控件中显示 OrderDate 列;当 GridView 处于编辑模式时,它使用 TemplateColumn 在 TextBox 控件中显示 OrderDate 列。您还可以使用 FooterTemplate 来告诉 Template 列在页脚中以不同的方式显示该列。还可以使用 HeaderTemplate、AlternatingItemTemplate 甚至 InsertItemTemplate。

还请注意 ASP.NET 2.0 中引入的简化的绑定语法。OrderDate 的值是通过调用 Bind 表达式并向它传递 GridView 的关联数据源中列的名称和一个可选的数据格式字符串表达式来设置的。在该示例中,我使用了表示短日期的数据格式字符串。这些属性都可以通过可借助于 Visual Studio 2005 中的新增智能标记功能访问的属性来轻松设置。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在ASP.NET中,可以使用数据绑定来将数据库中的数据填充到HTML表格的文本框中。以下是一个简单的例子: 1. 在ASPX页面中添加一个GridView控件,用于显示表格数据: ``` <asp:GridView ID="GridView1" runat="server"></asp:GridView> ``` 2. 在后端代码中,使用数据源和数据适配器来填充GridView控件: ``` protected void Page_Load(object sender, EventArgs e) { // 定义连接字符串和查询语句 string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;"; string query = "SELECT * FROM myTable"; // 创建连接对象和数据适配器 SqlConnection connection = new SqlConnection(connectionString); SqlDataAdapter adapter = new SqlDataAdapter(query, connection); // 创建数据集并填充数据 DataSet data = new DataSet(); adapter.Fill(data); // 将数据绑定GridView控件 GridView1.DataSource = data; GridView1.DataBind(); } ``` 3. 在GridView控件中定义需要绑定的列,并将数据绑定到对应的文本框中: ``` <asp:GridView ID="GridView1" runat="server"> <Columns> <asp:BoundField DataField="id" HeaderText="ID" /> <asp:BoundField DataField="name" HeaderText="Name" /> <asp:TemplateField HeaderText="Age"> <ItemTemplate> <asp:TextBox ID="txtAge" runat="server" Text='<%# Eval("age") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> ``` 在上面的代码中,使用了一个TemplateField来定义Age列,然后在ItemTemplate中使用了一个TextBox控件来显示数据,并通过Eval函数将数据绑定到文本框中。 这样就可以将数据库中的数据填充到HTML表格的文本框中了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值