0

我有一个自定义控件,需要在另一个自定义控件中使用。我已经在服务器端编写了所有代码(没有 HTML)。谁能告诉我如何使用 htmlTextWriter 在后面的代码中编写下面的代码行以及如何注册此控件或如何在另一个从后面的代码编写 html 的地方编写自定义控件。

4

2 回答 2

2

首先,构建一个简单的自定义 Web 控件:

namespace My.Controls
{
    public class InnerControl : Control
    {
        protected override void Render(HtmlTextWriter writer)
        {
            writer.WriteLine("<h1>Inner Control</h1>");
        }
    }
}

然后构建包含并呈现第一个的第二个 Web 控件:

namespace My.Controls
{
    public class OuterControl : Control
    {
        protected override void Render(HtmlTextWriter writer)
        {
            writer.WriteLine("<h1>Outer Control</h1>");
            InnerControl innerControl = new InnerControl();
            innerControl.RenderControl(writer);
        }
    }
}

最后,在您的页面上注册该控件,并显示它:

<%@ Register TagPrefix="c" Namespace="My.Controls" %>
<c:OuterControl runat="server" />
于 2008-11-18T07:36:54.003 回答
0

谢谢它有效..我只漏掉了一行——

innerControl.RenderControl(writer);

于 2008-11-18T09:55:10.447 回答