1

我正在使用 asp.net 4,与 2010 相比。

我有一个网站项目,有一些分页(apsx)和WebServices(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"%>

但这确实有效。我收到一个运行时错误:

文件 'src' 在此处无效,因为它不公开类型。

我也试过

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

我收到了运行时错误

无法加载文件或程序集“DropDownMenu”或其依赖项之一。该系统找不到指定的文件。

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

< 我的:DropDownMenu >

4

1 回答 1

4

登记:

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

这里包含程序集的名称AssemblyNameSpace定义控件类的命名空间,它们都不是控件本身的名称。请注意,程序集名称不包括文件扩展名。

用法:

<My:DropDownMenu ...>
于 2012-08-20T10:37:55.827 回答