我在尝试查找 GridView 内的标签控件时遇到问题。请在下面查看我的代码:
<asp:GridView ID="MyGridView" runat="server">
<Columns>
<asp:TemplateField HeaderText="Date">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtDate" MaxLength="10" Width="70" />
<asp:ImageButton ID="imgScoreDate" runat="server" ImageUrl="~/images/calendar.gif" />
<ajaxtoolkit:CalendarExtender ID="txtDate_CalendarExtender" runat="server" Enabled="True" Format="MM/dd/yyyy" TargetControlID="txtDate" PopupButtonID="imgDate" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblName" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这是我的 .cs 文件:
protected void LoadGridView()
{
//Do something else
foreach (GridViewRow row in MyGridView.Rows)
{
//Tried A
System.Web.UI.WebControls.Label lblName = row.FindControl("lblName") as System.Web.UI.WebControls.Label;
lblName.Text = "Name";
//Tried B
((System.Web.UI.WebControls.Label)row.FindControl("lblName")).Text = "Name";
}
}
我调试了这段代码,它似乎工作正常,因为每次调试器运行时都会命中我的断点。它甚至循环遍历我的foreach
块,与我的 GridView 有多少行一样。
但我不明白为什么我的lblName
控件没有将“名称”文本作为值?我在这里错过了什么吗?我尝试了这两种方法//Tried A
,//Tried B
但它们都没有更新我的标签文本。
任何帮助,将不胜感激!
谢谢!干杯!