如何访问aspx代码隐藏中的用户控件

本文关键字:隐藏 用户 控件 代码 aspx 何访问 访问 | 更新日期: 2023-09-27 17:58:50

我在项目中创建了一个带有选项卡容器的用户控件。出于禁用某些选项卡的原因,我想从aspx页面访问选项卡容器。例如,我需要从aspx页面动态隐藏第一个选项卡和第三个选项卡。因为我对不同的页面使用相同的用户控件。请帮我解决这个问题。

<%@ Register TagPrefix="cust" TagName="Creation" Src="~/Cust_Creation.ascx" %>
<div>
   <cust:Creation ID="uc_more_pack" runat="server" />
</div>

I

如何访问aspx代码隐藏中的用户控件

在用户控件上添加一个公共方法,该方法将通过使用用户控件的页面或控件进行访问。此方法可以采用您想要确定子选项卡容器状态的任何参数。

public void SetTabStatuses (bool tab1Enabled, bool tab2Enabled...){/* set status here */}

public void SetTabStatuses (SomeStatusEnum status) {/* set status here */}

将用户控件视为对象,您添加到其中的控件应被视为该对象上的字段。我建议的方法允许您封装它们的行为。

在usercontrol上创建公共属性:例如

 public bool ShowTab1 {get; set;}
 public bool ShowTab2 {get; set;}
 public bool ShowTab3 {get; set;}
 public bool ShowTab4 {get; set;}

然后从.aspx.cs页面设置:

protected void Page_Load(object sender, System.EventArgs e)
{
  usercontrol1.ShowTab1 = false;
  usercontrol1.ShowTab2 = true;
  usercontrol1.ShowTab3 = false;
  usercontrol1.ShowTab4 = true;
}

使用属性设置UserControl:中的控件

protected void Page_Load(object sender, System.EventArgs e)
{
  Tab1.Visible = ShowTab1;
  Tab2.Visible = ShowTab2;
  Tab3.Visible = ShowTab3;
  Tab4.Visible = ShowTab4;
}