gpt4 book ai didi

asp.net - 无法从内容页面访问内容控件?

转载 作者:行者123 更新时间:2023-12-01 08:40:11 25 4
gpt4 key购买 nike

我的内容页面如下所示:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Basket.aspx.cs" Inherits="Basket" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>

现在,我想在页面加载时向内容动态添加一些控件,所以我正在尝试以下代码:

  protected void Page_Load(object sender, EventArgs e)
{
Content2. // I want to add controls to it dynamically
}

问题是编译器看不到 Content2 控件,我收到有关缺少指令或程序集引用的错误。

有什么办法吗?

最佳答案

您无法获得对该 asp:Content 控件的引用的原因是当页面与母版页组合时它不会保留。基本上,ASP 从这些 asp:Content 部分中获取所有控件,并使它们成为母版页内 ContentPlaceholder 控件的子项。

作为 MSDN说:内容控件在运行时不会添加到控件层次结构中。而是直接将 Content 控件中的内容合并到对应的 ContentPlaceHolder 控件中。

这意味着,如果您想向该部分添加更多控件,则必须在母版页中获取对 ContentPlaceholder 控件的引用并将它们添加到其中。类似的东西:

ContentPlaceHolder myContent = (ContentPlaceHolder)this.Master.FindControl("ContentPlaceHolder1");
myContent.Controls.Add(??);

注意您使用的是 ContentPlaceHolderID 值,而不是 asp:Content 部分的 ID

关于asp.net - 无法从内容页面访问内容控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4142655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com