0

我创建了一个自定义 ASP.Net 控件:

namespace Chart2GoWeb.WebUI.UserControls
{
    public class NavigationBarControl : Control
    {
        protected override void Render(HtmlTextWriter output)
        {
            ...
        }
    }
}

现在是时候在 aspx 页面上使用它了。我试过添加:

<%@ Register Namespace='Chart2GoWeb.WebUI.UserControls' TagPrefix='c2gwwc'%>    

到页面,然后使用该控件:

<c2gwwc:NavigationBarControl runat=server></c2gwwc:NavigationBarControl>

我收到错误消息:

解析器错误消息:未知的服务器标记“c2gwwc:NavigationBarControl”。

我该如何解决?

4

3 回答 3

1

c2gwwc应该匹配标签前缀TagPrefix="asp"

你不应该扩展 WebControl 而不是 Control 吗?我不是专业人士,但它看起来不正确。

于 2012-07-10T16:37:24.673 回答
0

哇,我所要做的就是将 'Assembly="Chart2GoWeb.WebUI"' 添加到寄存器中,它就可以工作了。它似乎不假定当前的程序集。活到老,学到老。感谢大家的帮助。

于 2012-07-10T17:49:30.443 回答
0

用这个替换你的自定义 asp 控件标记

<asp:NavigationBarControl runat=server></asp:NavigationBarControl>

更新答案: 如果您创建了自定义服务器控件,则必须将自定义服务器控件的 dll 添加到项目中。您还可以将自定义服务器控件添加到您的工具箱,右键单击工具箱,选择控件或类似的东西,将打开一个新的弹出窗口,选择您的 dll,然后控件将出现在工具箱中。

于 2012-07-10T16:41:25.707 回答