免责声明:我想要做的可能是如此可怕的错误,随时为我提供完全不同的做法.
基本上,我正在尝试创建一个包装asp Label的UserControl,并为我的项目添加一些额外的功能(例如,一些改变标签服务器端行为的属性).控件的html很简单:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Label.ascx.cs" Inherits="MyNamspace.Label" %>
<asp:Label runat="server" ID="lblThis" />
Run Code Online (Sandbox Code Playgroud)
它背后的许多属性看起来像这样:
public string Text
{
get { return lblThis.Text; }
set { lblThis.Text = value; }
}
Run Code Online (Sandbox Code Playgroud)
我坚持使用AssociatedControlID,我很确定这是因为lblThis不知道页面上的任何其他控件,它被卡在了孤立状态.最终我收到错误"无法找到与标识'lblThis'相关联的id'foo'控件."
所以我的问题是,有没有办法让AssociateControlID以这种方式工作,或者,有没有更好的方法为asp控件添加功能?