【问题标题】:Difference between Bound column field and template column field绑定列字段和模板列字段之间的区别
【发布时间】:2017-08-10 20:31:05
【问题描述】:

我想了解asp.net gridview中绑定列字段和模板列字段的主要区别。请帮帮我。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    Boundfield 是直接绑定到数据源的列(数据库中的列)。

    <asp:TemplateField /> 是一个自定义列,可以包含这样的 DB 列,或者您可以将列连接在一起进行显示。

    使用boundfield 来简单地显示db 列,使用TemplateField 来做一些更花哨的事情,例如将2 个db 列连接为一个gridview 列,或者在网格中添加一些可能不会出现的额外文本/描述/参数来自数据库。

    让我们看一个关于何时以及如何使用 TemplateFields 的基本示例。

    我想在我的网格中有 2 列代表数据库中的 2 列。 FirstNameLastName 所以 GridView 标记将具有::

    <asp:BoundField DataField="FirstName"  />
    <asp:BoundField DataField="LastName"  />
    

    但是如果您想将它们连接在一起,您需要使用模板字段:: 这里 eval("FirstName") 被称为数据绑定表达式。

     <asp:TemplateField HeaderText="FullName" >
          <ItemTemplate>
                 eval("FirstName") + " " + eval("LastName")
          </ItemTemplate>
     </asp:TemplateField>
    

    通常和大多数时候,当我们需要的不仅仅是开箱即用的列功能时,我们会使用模板列。

    【讨论】:

      【解决方案2】:

      您可以直接绑定到的BoundColumns。 TemplateColumns 可以包含更复杂的控件,您必须使用数据绑定表达式进行绑定。

      【讨论】:

      • 谢谢。请解释一下数据绑定表达式。我有一个任务,我需要在 .cs 文件中使用没有 for 循环的绑定列字段和模板列字段。有没有可能
      • 如果我对您的理解正确,则在使用 BoundColums 或 TemplateColumns 时,您永远不必循环并执行诸如“手动”创建每一行之类的操作。关于数据绑定表达式,由于用户 FlopScientist 的回答被接受,我认为这是过时的。
      【解决方案3】:

      绑定字段

      • 用于在GridView中显示您的数据。

      模板字段

      • 如果您想在GridView 中执行更多操作,例如编辑, 显示图像等然后你必须使用模板归档。

      【讨论】:

        猜你喜欢
        • 2016-05-09
        • 2011-08-18
        • 1970-01-01
        • 2017-08-04
        • 1970-01-01
        • 1970-01-01
        • 2012-10-06
        • 1970-01-01
        • 2023-03-06
        相关资源
        最近更新 更多