我的自定义服务器控件在设计器文件中生成为System.Web.UI.UserControl

时间:2012-02-16 16:39:02

标签: asp.net vb.net custom-controls custom-server-controls servercontrols

我创建了一个服务器控件,它只包含几个按钮。

CWNavigation.vb

<ToolboxData("<{0}:CWNavigation runat=""server""></{0}:CWNavigation>")> _
<DefaultProperty("Id")> _
Public Class CWNavigation
    Inherits WebControl

然后我在ASPX页面中引用它。请注意,控件位于同一解决方案中,同一项目位于Commun / Navigation / CWNavigation.vb中。

<%@ Register TagPrefix="NAV" TagName="CWNavigation" Src="~/Commun/Navigation/CWNavigation.vb" %>

我已将其添加到页面中。

<NAV:CWNavigation ID="CWNavigationService" runat="server" />

但是设计器文件和代码隐藏生成它。

    Protected WithEvents CWNavigationService As Global.System.Web.UI.UserControl

但这是错误的..它必须是CWNavigation。我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

由于它是自定义服务器控件,您应该将其注册为程序集。像这样......

<%@ Register Assembly="Control.Assembly.CWNavigation" TagPrefix="NAV" TagName="CWNavigation" Namespace="Namespace.Of.Control.Assembly" %>

或者将其添加到您的工具箱(上下文菜单 - >选择项目),然后拖放(这将使Visual Studio为您连接)。