如何在父页面上调用子用户控件事件

时间:2011-07-04 06:11:10

标签: asp.net

我有两个用户控件。和一个加载控件的aspx页面。代码如下

Home.aspx:

<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="MYApp.Home" %>


<asp:Panel ID="pnlTabs" runat="server"></asp:Panel>

Home.aspx.cs:

protected void Page_Load(object sender, EventArgs e)
  {

base.LoadUserControl(UC_Tabs, pnlTabs);

}

Tabs.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UC_Tabs.ascx.cs" Inherits="MyApp.UserControls.UC_Tabs" %>                        <asp:Button ID="btnPhotoTab" runat="server" Text="Photos" CssClass="tab_style" style="border-right:none;"  onclick="btnPhotoTab_Click" />



<asp:Panel ID="pnlPhotos" runat="server"></asp:Panel>

Tabs.ascx.cs:

 protected void btnActivityFeed_Click(object sender, EventArgs e)
         {
             Home HomePage = (Home)this.Page;
             LoadUserControl("UC_PhotoSearch.ascx", pnlPhotos);
         }


        public Control LoadUserControl(string ControlName, Control Container)
         {
             Control UControl = null;
                            if (ControlName != null)
                 {
                     UControl = this.LoadControl("~/UserControls/" + ControlName);
                     UControl.ID = UControl.GetType().Name;
                     Container.Controls.Add(UControl);
                 }
                                   return UControl;
         }

UC_PhotoSearch.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UC_PhotoSearch.ascx.cs" Inherits="MyApp.UserControls.UC_PhotoSearch" %>
 <input id="txtSearch" name="txtSearch" type="text" runat="server" />
 <asp:Button ID="btnSearch" runat="server" Text="Search" onclick="btnSearch_Click" />
 <span id="PhotoSearchedData" runat="server"></span>

UC_PhotoSearch.ascx.cs:

protected void btnSearch_Click(object sender, EventArgs e)
         {
             //Photo Search Code here
         }

以上就是我的所有代码。 现在我正在主页上加载Tabs控件和

照片搜索控件选项卡控件

现在我点击搜索按钮但是

btnSearch_Click in not firing,甚至页面加载事件也没有触发。

如何从主页访问btnSearch_Click事件。

如果我在Tabs控件上使用了以下内容,则按钮单击工作正常。

<%@ Register Src=”UC_PhotoSearch.ascx” TagName=”PhotoSearch” TagPrefix=”uc1″ %>
 <uc1:PhotoSearch ID=”PhotoSearch″ runat=”server” />

动态加载控件有什么问题。

请帮帮我

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你,但我认为如果您在Page的PreInit事件中加载控件而不是Page_load,那么您的事件将会触发。