gpt4 book ai didi

c# - 将 UserControl 添加到来自另一个类的页面

转载 作者:行者123 更新时间:2023-11-30 21:17:59 25 4
gpt4 key购买 nike

我的页面中有页面和调用方法。我想在该方法内向我的页面控件(而不是页面本身)添加一些控件。

我的默认.aspx:

<%@ Page Title="Home Page" MasterPageFile="~/Site.master"  ...  %>

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</asp:Content>

和代码隐藏:

namespace Program
{
public partail class Default : Page
{
protected void Page_Load(object sender, Eventargs e)
{
MyClass.Calling(this);
}
}
}

我的另一个类(class)

namespace Program
{
public class MyClass
{
public static void Calling(Page page)
{
Textbox txt = new Textbox()
// I want somthing like this:
// page.PlaceHolder1.Controls.Add(txt);
}
}
}

这可能吗?

更新:感谢@The King。

最佳答案

很抱歉我之前的回答对您不起作用。我只是凭内存写的...这是一个可行的解决方案...您首先需要找到内容占位符,然后才能找到您的占位符。 ..

注意:请使用 ContentPlaceHolderID 而不是内容标签的 ID...

namespace Program  
{
public class MyClass
{
public static void Calling(Page page)
{
ContentPlaceHolder cph = page.Master.FindControl("ContentPlaceHolder1") as ContentPlaceHolder;
if (cph == null)
{
return;
}

PlaceHolder ph = cph.FindControl("PlaceHolder1") as PlaceHolder;
if (ph != null)
{
ph.Controls.Add(new TextBox());
}
}
}
}

我的旧答案请引用修订历史...

关于c# - 将 UserControl 添加到来自另一个类的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4518940/

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