如何访问父类中的标签表单用户控件?
Posted
技术标签:
【中文标题】如何访问父类中的标签表单用户控件?【英文标题】:how to access a label form user control in Parent class? 【发布时间】:2010-05-24 12:07:31 【问题描述】:我有一个继承 System.Web.UI.UserControl 的类 UserControlBase,我的用户控件继承了 UserControlBase 类。 UserControlBase 有一些在所有用户控件中都会用到的通用函数。
我也想将错误显示功能放到 UserControlBase 中,这样我就不必在所有用户控件中声明和管理它。错误将显示在用户控件中的某些标签中。问题是如何在函数的 UserControlBase 中访问用户控件中的标签?我不想将标签作为参数传递。
【问题讨论】:
【参考方案1】:在您的 UserControl Base 中,仅公开标签的文本值:
public abstract class UserControlBase : System.Web.UI.UserControl
private Label ErrorLabel get; set;
protected string ErrorMessage
get return ErrorLabel.Text;
set ErrorLabel.Text = value;
protected override void OnInit(EventArgs e)
base.OnInit(e);
ErrorLabel = new Label();
Controls.Add(ErrorLabel);
//... Other functions
在继承此的用户控件中:
public partial class WebUserControl1 : UserControlBase
protected void Page_Load(object sender, EventArgs e)
try
catch (Exception)
ErrorMessage = "Error"; //Or whatever
【讨论】:
以上是关于如何访问父类中的标签表单用户控件?的主要内容,如果未能解决你的问题,请参考以下文章