我有一个下拉列表:
<asp:DropDownList ID="ddlGoalKeeper" runat="server">
</asp:DropDownList>
一个不错的小家伙。我有一些代码可以找到它:
DropDownList myControl1 = (DropDownList)Page.FindControl("ddlGoalKeeper");
不是..只是我的myControl1
没有设置...所以当我稍后在我的代码中尝试将visible设置为true时,它不起作用。
有什么想法吗?
答案 0 :(得分:4)
我遇到的一个原因是,如果控件是在网站使用母版页的情况下,那么我无法工作。
您可以使用此提示首先获取母版页的引用,然后从内容页面获取正确的控件:
ContentPlaceHolder MainContent = Page.Master.FindControl("MainContent") as ContentPlaceHolder;
DropDownList myControl1 = (DropDownList)MainContent.FindControl("ddlGoalKeeper");
答案 1 :(得分:0)
为什么不设置ddlGoalKeeper.Visible = true;直接?
答案 2 :(得分:0)
我不确定您为什么尝试使用FindControl
,如果您希望切换可见性,则最简单的方法是使用ddlGoalKeeper.Visible
,因为控件可用。
如果它包含在某个其他控件中表示网格,那么您必须在父控件中找到它,就像在网格[gridrow1].FindControl("ddlGoalKeeper")
的特定行中一样,那么它会更有意义。