在单击按钮时设置用户控件的公共属性

本文关键字:属性 控件 用户 单击 按钮 设置 | 更新日期: 2023-09-27 17:57:57

我在页面上有一个用户控件。用户控件上有一个公共属性,我需要在单击按钮后设置它。你是怎么做到的?控件似乎是在按钮单击事件激发之前渲染的,因此设置该属性没有任何效果。

页码:<%@注册src="Email.ascx"tagname="Email"tagprefix="uc2"%>

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
        EmailList.IsEditable = false;
}
protected void btn_Click(object sender, EventArgs e)
{
    EmailList.IsEditable = true;
}

用户控制:公共布尔IsEditable{get;set;}

当我在页面加载事件中设置公共属性时,它会被正确设置,但在按钮单击时不会。该按钮用于将表单从只读模式更改为编辑模式。有没有办法在按钮点击事件中设置公共属性?如果是,如何?

在单击按钮时设置用户控件的公共属性

属性设置得很好。问题是,在用户控件中,您将其控件设置为只读/启用。

如果希望能够影响用户控件的呈现方式,则必须执行在用户控件的Page_PreRender事件中设置子控件的只读/启用属性的逻辑。此事件在按钮单击事件之后执行。

msdn上的必读内容:页面生命周期。您会注意到控制事件在Page_Load之后和Page_LoadComplete之前得到处理。