为了测试的目的,我创建了一个非常简单的网站。只有一个母版页和一个内容页。
我的内容页如下:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div id="TestDiv1">bla bla</div>
<div id="TestDiv2">ble ble</div>
</asp:Content>
现在,基于某些条件,我希望显示/隐藏给定的div。因此,我正尝试通过控件集合访问其中一个div,如下所示:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ContentPlaceHolder myContent = (ContentPlaceHolder)this.Master.FindControl("ContentPlaceHolder1");
myContent.FindControl("TestDiv1").Visible = false; //this is not working
}
}
}
}
但是上面的例子不起作用。两个div控件中没有一个存在
myContent.Controls
收藏。例如,如果我在内容页上放置一个文本框,我可以通过控件访问它。