c# - ASP.NET - 如何获取 ContentPlaceHolder 中的 Div 控件?

标签 c# asp.net html contentplaceholder

为了测试目的,我创建了非常简单的网站。只有一个母版页和一个内容页。

我的内容页面如下所示:

<%@ 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。所以我试图通过 Controls 集合到达其中一个 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 
    }
}

    }
}

但是上面的例子是行不通的。 myContent.Controls 集合中不存在这两个 div 控件。例如,如果我在我的内容页面上放置一个文本框,我可以通过控件访问它。

那么我应该怎么做才能访问到div控件呢?

最佳答案

您的 div 是 HTML 控件,请尝试将它们添加到标签 runat="server"

<div id="TestDiv1" runat="server">bla bla</div>

这应该可以解决您的问题。

关于c# - ASP.NET - 如何获取 ContentPlaceHolder 中的 Div 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4163887/

相关文章:

asp.net - asp.net中平板电脑的设计考虑

c# - 带有文本框和按钮的 Repeater 中的 DefaultButton?

javascript - 如何用鼠标单击页面上的按钮,然后触发同一页面上链接的单击?

c# - ProxyFactoryFactory 未配置

c# - CodeDom 编译类型或命名空间错误

c# - mysql 和 asp.net 身份

javascript - 访问 asp :Textbox value inside an asp:Datalist control using Javascript

HTML 对齐文本

c# - 使用最小起订量模拟嵌套依赖关系

c# - 提高分割文件的速度