gpt4 book ai didi

asp.net - 如何让子项出现在 ASP.NET 的自定义 Web 控件中?

转载 作者:行者123 更新时间:2023-12-02 12:07:48 26 4
gpt4 key购买 nike

例如,我有一个名为 SampleControl 的自定义控件。为了简化这个问题,假设我只是从头开始克隆面板控制。

<CC:SampleControl ID="Sample1" runat="server">
<asp:Label ID="Label1" runat="server" Text="Hi"></asp:Label>
<asp:Button ID="Button1" runat="server" Text="Button1"></asp:Label>
</CC:SampleControl>

输出:

<div id="Sample1">
<span id=Label1>Hi</span>
etc.....
</div>

代码在哪里:

public class SampleControl: WebControl
{
.....Render Stuff Goes Here.....
}

中间的 ASP 控件未由 ASP.NET 注册。当我在面板控件上做反射器时,我无法找出他们如何让中间控件进行渲染。他们看起来不像使用模板化控件。

当我这样做时,我收到此错误:

解析器错误描述:解析服务此请求所需的资源时发生错误。请查看以下具体解析错误详细信息并适当修改您的源文件。

有什么想法吗?

最佳答案

首先,[ParseChildren(false)] 属性让解析器知道您希望控件将嵌套内容视为子控件。

然后确保在 Render 中的某个位置调用了 RenderChildren 方法。它是 System.Web.UI.Control.Render() 的默认实现,因此您可以在重写的 Render 方法中执行 base.Render(writer) 。

关于asp.net - 如何让子项出现在 ASP.NET 的自定义 Web 控件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/224978/

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