我最近发现在我的用户控件中的 asp:button 上设置可见属性并不总是通过我的用户控件中的公共属性设置它来工作(请参阅为什么在用户控件中未正确更新 Visible 属性?)。我习惯于通过公共属性设置我的 webcontrol 属性,但是是否有标准或最佳实践来为我的 usercontrol 设置 webcontrol 属性?
这是我的代码的简化版本:
public partial class MyUserControl: System.Web.UI.UserControl
{
public bool IsVisible
{
set{MyButton.Visible = value;}
}
protected void Page_PreRender(object sender, EventArgs e)
{
if (MyButton.Visible)
{
trButtons.Visible = true;
//do something
//MyButton.Visible is always false, even when it is assigned true thru the
//public property above, when the <tr> element in the form has Visible = "false"
}
}
}
设计师
<table>
<tr runat="server" id="trButtons" visible="true">
<td>
<asp:Button ID="MyButton" runat="server" Text="The Button" />
</td>
</tr>
</table>