我在第一个网站上工作。 我使用一些用户控件作为屏幕。我在这里遇到麻烦。
第一个屏幕包含动态创建的选项列表(超链接)。用户通过点击做出决定后,我想更改屏幕并将一些参数传递给新屏幕。
我的决定是在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);
第一个用户控件中的选项实现为LinkButtons(服务器端)。 OnClik事件在webpart类中调用一个特殊方法,在此方法中,我更改了用户控件的可见性,并将一些参数传递给usercontrol2。
我不喜欢这种做法。是否有不同的方法来实现所描述的功能?
谢谢!
答案 0 :(得分:0)
您需要使用ASP.NET向导控件,它可以完成您想要的操作。
答案 1 :(得分:0)
从设计的角度来看,你在做什么看起来有点可怕。您应该考虑将各种用户控件嵌套到单个用户控件中,您可以将其用作webpart的面。保持各种用户控件之间的耦合松散,并考虑实现Observer模式,如果你需要做一些事情,比如玩控件可见性。