这段代码在我的 ASPX 页面中。下面显示的代码片段用于根据用户在 ASPX 页面上所做的某些选择来动态加载用户控件。
protected void loadUserControl(string tmUCName)
{
phDetail.Controls.Clear();
ViewState["vsControl"] = null;
UserControl tmUControl = LoadControl(tmUCName) as UserControl;
tmUControl.ID = "ucidControl";
phDetail.Controls.Add(tmUControl);
ViewState["vsControl"] = tmUCName;
}
ASCX 有效,ASCX 页面上的 SELECT 事件也有效。我的问题是从 ASCX 页面上的选择事件中获取值到 ASPX 页面。由于用户控件 (ASCX) 是动态加载的(基于 ASPX 页面上的某些选择),我发现很难将事件从 ASCX 连接到 ASPX 页面。在一个明确的负载情况下,我没有问题......一切都很好......
对于它的价值,如果页面被显式加载,例如:
PlaceHolder1.Controls.Clear();
WebUserControlTest02 = LoadControl(@"~\WebUserControl2.ascx") as WebUserControl2;
WebUserControlTest02.gvASCX02SelectedIndexChanged += new EventHandler (WebUserControlTest02_gvASCX02SelectedIndexChanged);
PlaceHolder1.Controls.Add(WebUserControlTest02);
我对 ASPX 和 ASCX 页面之间的连接事件没有任何问题。