0

我有一个包含五个面板的 aspx 页面。每个面板中都有一个用户控件。所有五个面板上的用户控件都是相同的。第一个面板中的用户控件是为主要成员收集数据,其余的用于辅助成员。我使用“>”和“<”自定义按钮从一个面板移动到另一个面板。每当我从主面板移动到辅助面板时,我都想在用户控件中隐藏两个文本框。当它们移回主面板时,这些文本框应该会重新出现。由于按钮位于父页面中,请告诉我如何操作。我相信在用户控件中创建一个事件并从父页面访问它可能会起作用。但不知道该怎么做。或者请让我知道任何其他方法。

谢谢

4

2 回答 2

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" />
于 2012-09-01T14:19:20.547 回答
0

我不明白,按钮><页面中的按钮可以前进到下一个/上一个控件。然后你只需要在页面中处理他们的点击事件并切换用户控件的可见性。

如果您不知道如何从页面控制 UserControls 内部控件的可见性:

  • 使用 中的属性UserControl,例如PrimaryMode。在那里你可以相应地隐藏/显示TextBoxes。您可以从页面调用这些属性。PrimaryMode可以是类型bool或自定义枚举类型(如果您想提供多种显示模式)。
于 2012-09-01T14:13:14.507 回答