Изменить:
Пошарив еще немного, кажется, ваш контент есть, но не как текст. Это DataBoundLiteralControl
в коллекции Controls
клетки. Вы можете получить значение с помощью:
var value = (row.Cells[7].Controls[0] as DataBoundLiteralControl).Text.Trim();
Использование функции Trim()
необходимо для удаления начальных и конечных пробелов выше и ниже оператора связывания в вашем шаблоне.
Я все еще предпочитаю подход, описанный ниже.
Конец
Если я правильно понимаю, я думаю, что ваше значение не сохраняется в ViewState.
Вы можете получить свой текст с помощью этого альтернативного подхода:
<ItemTemplate>
<asp:Label ID="mylabel" runat="server"
Text='<%# GetWednesday(decimal.Parse(Eval("Wed").ToString())).ToString("N2") %>' />
</ItemTemplate>
И из кода позади:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
var label = GridView1.SelectedRow.FindControl("mylabel") as Label;
lblTest.Text = label.Text;
}