dan*_*ine 2 asp.net web-control
例如,我有一个名为SampleControl的自定义控件.为了简化这个问题的事情,假装我只是从头开始制作一个Panel Control克隆.
<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>
Run Code Online (Sandbox Code Playgroud)
要输出:
<div id="Sample1">
<span id=Label1>Hi</span>
etc.....
</div>
Run Code Online (Sandbox Code Playgroud)
守则在哪里:
public class SampleControl: WebControl
{
.....Render Stuff Goes Here.....
}
Run Code Online (Sandbox Code Playgroud)
中间的ASP控件没有被ASP.NET注册.当我在Panel控件上做了一个Reflector时,我无法找到他们如何获得渲染的中间控件.它看起来不像是使用模板化控件.
当我这样做时,我收到此错误:
分析程序错误说明:解析为此请求提供服务所需的资源时发生错误.请查看以下特定的解析错误详细信息并相应地修改源文件.
有任何想法吗?
首先,[ParseChildren(false)]属性让解析器知道您希望控件将嵌套内容视为子控件.
然后确保调用Render RenderChildren方法中的某个地方.它是System.Web.UI.Control.Render()的默认实现,因此您可以在覆盖Render方法中执行base.Render(writer).
| 归档时间: |
|
| 查看次数: |
560 次 |
| 最近记录: |