我有这个ASP:GridView
我似乎无法在我的代码隐藏ascx文件中声明这个ASP:GridView
内的asp控件或div标签。
<asp:GridView runat="server" ID="siteMembersView" AllowPaging="True"
ShowHeader="False" EnableModelValidation="True" AutoGenerateColumns="false" CssClass="membership-gridview" Width="100%" CellPadding="0" CellSpacing="0">
<Columns>
<asp:TemplateField>
<ItemTemplate>
//content
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我正在尝试Mydiv.Visible = false
和LinkButton.Visible = False
但它无法找到ID。我正在使用runat="server"
。我认为问题在于它在GridView内部,因为我试图把它放在GridView之外,它运行得很好。
感谢任何形式的帮助
答案 0 :(得分:1)
使用FindControl方法访问您的控件,然后您可以应用逻辑来切换每个控件的可见性:
How to find control in TemplateField of GridView?
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
HtmlGenericControl myDiv;
LinkButton myLinkButton;
if(e.Row.RowType == DataControlRowType.DataRow)
{
myDiv = (HtmlGenericControl)e.Row.FindControl("myDiv")
as HtmlGenericControl;
myDiv.Visible = false;
myLinkButton = (LinkButton )e.Row.FindControl("myLinkButton")
as LinkButton;
myLinkButton.Visible = false;
}
}