我在这里阅读了很多帖子,寻找答案。但无论我做什么,我总是会为我的Label返回一个空值。
我可以填充它并在那时读取它,但是当我尝试读取标签以填充DB时,它总是为空。
aspx代码:
<asp:TemplateField HeaderText="TOTAL YIELD" ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="130">
<EditItemTemplate>
<asp:Label ID="lb_TotalYield" runat="server" ></asp:Label>
</EditItemTemplate>
</asp:TemplateField>
在后面的代码中我只是想读它。
foreach (GridViewRow currentRow in gv_Fruit.Rows)
{
Label tempLabel = (Label)currentRow.FindControl("lb_TotalValue") as Label;
string theTotalValue = tempLabel.Text;
}
获取完整信息以下是我设置标签的方法:
myGridView.SelectedRow.Cells[4].Text = myTotalYield;
我尝试过做一个gv_RowDataBound,但似乎没有被调用过。
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (myGridView.EditIndex == e.Row.RowIndex &&
e.Row.RowType == DataControlRowType.DataRow)
{
Label mylabel = (Label)e.Row.FindControl("lb_TotalYield");
mylabel.DataBind();
}
}