加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 你可以添加一个HtmlGenericControl的子控件吗?

发布时间:2020-12-16 00:25:43 所属栏目:asp.Net 来源:网络整理
导读:我有一个非常简单的操作,我尝试添加一个HtmlGenericControl到另一个HtmlGenericControl: protected void Page_Load(object sender,EventArgs e){ HtmlGenericControl div = new HtmlGenericControl("div"); HtmlGenericControl p = new HtmlGenericControl
我有一个非常简单的操作,我尝试添加一个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
}

仅在调试器中抛出异常 – 页面本身呈现为没有发生任何事情。然而,确实发生了一些事情,因为在较大部分的代码中,控件没有按照应用程序呈现。

实际例外是:

{InnerText = '((System.Web.UI.HtmlControls.HtmlContainerControl)(div)).InnerText' threw an exception of type 'System.Web.HttpException'}

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

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

我有更多的信息。
当使用占位符控件作为父级时,也不例外:

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中的异常。您需要询问有关您的代码“较大部分”的任何问题的新问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读