gpt4 book ai didi

asp.net - 您可以将子控件添加到 HtmlGenericControl 吗?

转载 作者:行者123 更新时间:2023-12-03 14:24:07 29 4
gpt4 key购买 nike

我有一个非常简单的操作,我尝试将 HtmlGenericControl 添加到另一个 HtmlGenericControl :

protected void Page_Load(object sender, EventArgs e)
{

HtmlGenericControl div = new HtmlGenericControl("div");
HtmlGenericControl p = new HtmlGenericControl("p");

div.Controls.Add(p);//exception occurs
}

仅在调试器中引发异常 - 页面本身呈现为好像什么都没有发生。但是肯定会发生某些事情,因为在大部分代码中,控件没有按应有的方式呈现。

enter image description here

实际的异常(exception)是:
{InnerText = '((System.Web.UI.HtmlControls.HtmlContainerControl)(div)).InnerText' threw an exception of type 'System.Web.HttpException'}

我不明白为什么会发生这种情况,因为您应该能够以这种方式相互添加控件。

请注意,从第一个答案开始,我再次尝试使用 ID,但仍然无法正常工作:

enter image description here

我还有一些信息。
当使用占位符控件作为父级时,也不异常(exception):
protected void Page_Init()
{
PlaceHolder ph = new PlaceHolder();
HtmlGenericControl p = new HtmlGenericControl("p");

ph.Controls.Add(p);//no problem
}

最佳答案

"An exception is thrown in the debugger only - the page itself renders as though nothing had happened."



没关系,如果有子控件, InnerText 将不起作用;这是设计使然,因为当时出于各种性能、生命周期和副作用的原因,它不想渲染整个控件层次结构。

"... something definitely does happen, as in a larger portion of code, controls are not being rendered as they should."



这意味着什么?什么在代码的“较大部分”中呈现不正确?我的猜测是这是其他地方的问题,与您在这里的问题无关。

所以我觉得你很好。忽略父控件上 InnerText 中的异常。您需要就代码的“较大部分”遇到的任何问题提出一个新问题。

关于asp.net - 您可以将子控件添加到 HtmlGenericControl 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6659948/

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