我有这个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") %> <%# Eval("Model") %> <%# 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
由于
答案 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>
我认为像上面那样。