没有 DLL 的自定义 Web 控件
本文关键字:Web 控件 自定义 DLL 没有 | 更新日期: 2023-09-27 18:34:57
我正在尝试继承一个下拉列表。我不想编译它并放入 DLL。我想从同一个项目中引用它,并且该组件仅由其他两个页面使用。
代码隐藏是非常基本的:
.cs页:
namespace UNS
{
public partial class UDropDown : DropDownList
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
.ascx 页面
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UDropDownList.ascx.cs" Inherits="UNS.UDropDown" %>
我想在另一个.aspx页面中通过注册来引用它,如下所示:
.aspx页
<%@ Register Src="~/UDropDownList.ascx" TagPrefix="UTP" TagName="UTN" %>
问题是,当我想把它放在页面上时,如果我写
<UTP: ...
我无法获得自动完成选项等。它没有出现。
但我可以在其他.cs页面中引用它,只需键入 UDropDown。
怎么了?
下面解决了这个问题:
如何在 ASP.NET 页上使用子类化控件?
我使用 web-config 来注册我的控件。
网络.config
<pages theme="UTheme">
<controls>
<add tagPrefix="UTP" namespace="UNS" assembly="UNS" />
</controls>
</pages>
创建了一个新类,而不是分部类:
UDropDownList
namespace UNS
{
public class UDropDownList : DropDownList
{
}
}
在.aspx页面上,请像这样引用它:
<UTP:UDropDownList runat="server" ID="dd" runat="server"
ClientIDMode="Static" AutoPostBack="false">
</UTP:UDropDownList>