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

时间:2013-02-06 22:13:28

标签: c# asp.net properties user-controls public

我在页面上有一个用户控件。用户控件上有一个公共属性,我需要在单击按钮后设置它。你怎么做到这一点? 似乎控件在按钮单击事件触发之前呈现,因此设置该属性无效。

页:     <%@ Register 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;
}

用户控制:     public bool IsEditable {get;组; }

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

1 个答案:

答案 0 :(得分:1)

该物业设置得很好。问题在于,在用户控件中,您将其控件设置为只读/启用。

如果您希望能够影响usercontrol的呈现方式,则必须在用户控件的Page_PreRender事件中设置子控件的readonly / enabled属性的逻辑。此事件在buttonclick事件之后执行。

必须阅读msdn:the page lifecycle。您会注意到控制事件在Page_Load之后和Page_LoadComplete之前处理。

相关问题