用户控制为webpart中的“屏幕”

时间:2009-08-01 19:44:19

标签: sharepoint user-controls web-parts

我在第一个网站上工作。 我使用一些用户控件作为屏幕。我在这里遇到麻烦。

第一个屏幕包含动态创建的选项列表(超链接)。用户通过点击做出决定后,我想更改屏幕并将一些参数传递给新屏幕。

  1. 我的决定是在webpart创建时加载我需要的所有控件。我现在不需要的控件让我看不见。

        SomeUserControl1 uc1 = (SomeUserControl1)Page.LoadControl("~/_controltemplates/SomeUserControl1.ascx");
        SomeUserControl2 uc2 = (SomeUserControl2)Page.LoadControl("~/_controltemplates/SomeUserControl2.ascx");
        uc2.Visible = false;
    
        Controls.Add(uc1);
        Controls.Add(uc2);
    
  2. 第一个用户控件中的选项实现为LinkBut​​tons(服务器端)。 OnClik事件在webpart类中调用一个特殊方法,在此方法中,我更改了用户控件的可见性,并将一些参数传递给usercontrol2。

  3. 我不喜欢这种做法。是否有不同的方法来实现所描述的功能?

    谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用ASP.NET向导控件,它可以完成您想要的操作。

答案 1 :(得分:0)

从设计的角度来看,你在做什么看起来有点可怕。您应该考虑将各种用户控件嵌套到单个用户控件中,您可以将其用作webpart的面。保持各种用户控件之间的耦合松散,并考虑实现Observer模式,如果你需要做一些事情,比如玩控件可见性。