获取GridView模板字段的值

时间:2015-03-05 11:05:12

标签: c# asp.net

我有这个GridView

 <asp:GridView ID="gvPrices" runat="server" DataSourceID="ldsPrices" AllowPaging="true"
    AllowSorting="true" ShowHeader="true" PageSize="20">
    <Columns>
        <asp:BoundField DataField="CapId" HeaderText="CapId" SortExpression="CapId" />
        <asp:TemplateField HeaderText="Vehicle">
            <ItemTemplate>
                <%# Eval("Manufacturer") %>&nbsp;<%# Eval("Model") %>&nbsp;<%# Eval("Derivative") %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="Term" HeaderText="Term" SortExpression="Term" />

当我遍历它以获取值时,第一个很好,但第二个因为它是模板字段并没有文本属性。我怎样才能获得它的价值?我想过FindControl,但我不知道id?

sb.Append(gvPrices.Rows[i].Cells[0].Text + ','); // has a value
sb.Append(gvPrices.Rows[i].Cells[1].Text + ','); // doesn't have a value

由于

1 个答案:

答案 0 :(得分:1)

  Label val =  (Label) gvPrices.Rows[i].Cells[1].FindControl('YourColumn');

如果“模板”字段中的“控件”为“标签”,则将其转换为该格式。

 <asp:Label ID="lblVehicle" runat="server" Text='<%# Eval("Manufacturer") + " " + Eval("Model") + " " +  Eval("Derivative") %>'></asp:Label>

我认为像上面那样。