如何使用我的asp.net自定义控件(Extends System.Web.UI.UserControl)?

时间:2012-08-20 10:29:35

标签: asp.net user-controls custom-controls

我使用的是asp.net 4,而不是2010年。

我有一个WebSite项目,有一些分页(apsx)和Web服务(asmx)。

我正在尝试使用我在项目中包含的自定义UserControl。

WebControl / UserControl是一个简单的c#类,没有aspx / ascx / asmx。该类配置如下:

public class DropDownMenu : UserControl

意思是它扩展了System.Web.UI.UserControl,它覆盖了一堆UserControls 诸如OnPreRender,OnLoad等方法

此文件编译正常,但我没有成功在aspx文件中使用它。

我尝试了以下内容:

  <%@ Register TagPrefix="My" TagName="DropDownMenu"  
Src="DropDownMenu.cs"%>

但这种剂量有效。我收到了一个运行时错误:

  

文件&#39; src&#39;在这里不是有效的,因为它没有公开类型。

我也试过

<%@ Register Assembly="DropDownMenu" Namespace="MyNameSpace" TagPrefix="My" %>

我收到了运行时错误

  

无法加载文件或程序集&#39; DropDownMenu&#39;或其中一个依赖项。系统找不到指定的文件。

有谁知道如何将我的班级用作asp标签/控件? 我只想在aspx页面中使用以下内容:

  

&LT;我的:DropDownMenu&gt;

1 个答案:

答案 0 :(得分:4)

注册:

<%@ Register TagPrefix="My" Assembly="AssemblyName" NameSpace="NameSpace"%>

此处AssemblyNameSpace包含程序集和命名空间的名称,其中定义了控件的类,它们都不是控件本身的名称。请注意,程序集名称不包含文件扩展名。

用法:

<My:DropDownMenu ...>