我有一个aspx页面,它有五个面板。每个面板都有一个用户控件。所有五个面板上的用户控件都是相同的。第一个面板中的用户控件是为主要成员收集数据,其余用于辅助成员。我用“>”和“<”自定义按钮从一个面板移动到另一个面板。每当我从主面板移动到辅助面板时,我都想在usercontrol中隐藏两个文本框。当他们移回主面板时,这些文本框应该重新出现。由于按钮位于父页面,请告诉我如何操作。我相信在usercontrol中创建一个事件并从父页面访问它可能会起作用。但不知道该怎么做。或者,请让我知道任何其他方法。
由于
答案 0 :(得分:1)
您无需在用户控件中为此创建事件。
您需要的只是在用户控件上创建一个公共属性,您可以在使用用户控件时进行设置。
由于您没有提供任何代码,我将只提供一个示例。
public partial class MyWidget: System.Web.UI.UserControl
{
private bool showPrimary;
public bool ShowPrimary
{
get { return showPrimary; }
set
{
showPrimary = value;
txtPK1.Visible = value;
txtPK2.Visible = value;
}
}
}
然后按照以下方式调用它时设置它:
Main Panel:
<uc1:MyWidget ID="MyWidget1" ShowPrimary="true" runat="server" />
Secondary Panel:
<uc1:MyWidget ID="MyWidget1" ShowPrimary="false" runat="server" />
答案 1 :(得分:0)
我不明白,按钮>
和<
位于页面中以前进到下一个/上一个控件。然后,您只需处理页面中的click事件并切换UserControls的可见性。
如果您不知道如何从页面控制UserControls内部控件的可见性:
UserControl
中的属性,例如PrimaryMode
。在那里,您可以相应地隐藏/显示TextBoxes
。您可以从页面调用这些属性。 PrimaryMode
可以是bool
类型或自定义枚举类型(如果您想提供多种显示模式)。