1

我正在尝试在网格视图的标题模板内设置文本框的值,但无法做到。

<asp:GridView ID="gv" runat="server" 
<Columns>
<asp:TemplateField HeaderStyle-HorizontalAlign="Left" HeaderText="ABC">
<HeaderTemplate><asp:TextBox ID="d1" runat="server">ABC</asp:TextBox></HeaderTemplate> 
</asp:TemplateField>
 </Columns>
</asp:GridView>

.cs 方试图设置值

gv.HeaderRow.FindControl("d1"). ="DEF"

预期:Id="d1" 的文本框应设置为 DEF 实际:在此代码 gv.HeaderRow.FindControl("d1") 之后没有获得适当的语法来绑定它。

4

2 回答 2

1

您可以通过向onRowDataBound网格添加事件并编写以下代码来做到这一点server side

protected void gridView_RowDataBound(object sender,GridViewRowEventArgs e)
{          
 TextBox txtd1= (TextBox)e.Row.FindControl("d1");     
 txtd1.Text="your text";
}
于 2019-09-12T13:06:06.473 回答
0

您可以Text在 gridview 绑定后设置文本框。下面的代码设置文本框的文本值

gv.DataSource = list;
gv.DataBind();
((TextBox)gv.HeaderRow.FindControl("d1")).Text = "DEF";
于 2019-09-12T13:03:07.960 回答