Tôi muốn có một DropDownList trong tiêu đề của GridView của tôi. Trong codebehind của tôi, tôi dường như không thể truy cập nó. Dưới đây là HeaderTemplate:Làm cách nào để truy cập một điều khiển trong HeaderTemplate của GridView
<asp:TemplateField SortExpression="EXCEPTION_TYPE">
<HeaderTemplate>
<asp:Label ID="TypeId" runat="server" Text="Type" ></asp:Label>
<asp:DropDownList ID="TypeFilter" runat="server" AutoPostBack="true">
</asp:DropDownList>
</HeaderTemplate>
...
</asp:TemplateField>
Và đây là phần trong mã phía sau nơi tôi đang cố gắng truy cập điều khiển 'LoạiFilter'.
protected void ObjectDataSource1_Selected(object sender,
ObjectDataSourceStatusEventArgs e)
{
DataTable dt = (DataTable)e.ReturnValue;
int NumberOfRows = dt.Rows.Count;
TotalCount.Text = NumberOfRows.ToString();
DataView dv = new DataView(dt);
DataTable types = dv.ToTable(true, new string[] { "EXCEPTION_TYPE" });
DropDownList typeFilter = (DropDownList)GridView1.FindControl("TypeFilter");
typeFilter.DataSource = types;
typeFilter.DataBind();
}
Bạn sẽ thấy rằng tôi đang cố gắng sử dụng FindControl để tham chiếu đến Kiểm soát DropDownList. Cuộc gọi này trả về null thay vì trả lại điều khiển. Làm cách nào để tôi có quyền truy cập vào bộ điều khiển?