如何创建自定义控件(不是ASCX控件),更重要的是,在项目中使用它?我不想为它创建一个单独的项目或将其编译为DLL
应将服务器控件编译为DLL.应该没有理由害怕在项目中添加额外的程序集,这有助于创建良好的项目组织.
ASP.NET Server控件实际上是程序集中的自定义类.它们没有与之关联的"ascx"标记文件.
要使用ASP.NET服务器控件,您需要告诉ASP.NET在哪里查找其类.
首先,创建一个类库项目并将其添加到您的解决方案中,我将其称为"CustomControls.dll".
在那里,添加一个简单的类作为您的webcontrol:
public class Hello : System.Web.UI.WebControl { public override Render(HtmlTextWriter writer) { writer.Write("Hello World"); base.Render(writer); } }
构建项目,并将其添加为主Web项目的参考.
现在,在要使用此控件的ASPX页面中,需要注册它,因此在页面指令之后将其添加为aspx中的第一行:
<%@ Register TagPrefix="Example" Namespace="CustomControls" Assembly = "CustomControls" %>
现在,您应该可以使用名为