2013-10-10 256 views
0

我在按鈕OnClick事件上遇到問題。 用戶控件(「標題」)中有一個刷新按鈕,它將刷新佔位符(「phContent」),該位置在運行時會生成一些其他用戶控件。但是,按鈕OnClick事件不會觸發,直到整個佔位符內容加載。按鈕OnClick事件不會在UpdatePanel中第一次觸發

Page.aspx

<ext:ContentHeader ID="header" runat="server" Visible="false" /> 
<asp:UpdatePanel ID="upControl" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
    <ContentTemplate> 
     <asp:PlaceHolder ID="phContent" runat="server"></asp:PlaceHolder> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="header" EventName="OnFormSubmit" /> 
    </Triggers> 
</asp:UpdatePanel> 

UserControl.ascx

<div> 
    <asp:Button ID="btnRefresh" runat="server" Text="Refresh" OnClick="btnRefresh_OnClick" /> 
</div> 

UserControl.cs

protected void btnRefresh_OnClick(object sender, EventArgs e) 
{ 
    //some code 

    OnFormSubmit(this, e); 
} 
public delegate void UserControlFormSubmit(object sender, EventArgs e); 
public event UserControlFormSubmit OnFormSubmit; 
+0

如果(!OnFormSubmit = NULL)OnFormSubmit(這一點,E); – Tony

+1

按鈕在哪裏? –

回答

0

不確定頁面和源代碼究竟是什麼。

但是從前端來看,以jQuery爲例。

你可以嘗試這樣的:

jQuery(function(){ 
    jQuery('#btnRefresh').on('click',function(){ 
     //load the content by ajax 
     jQuery('#phContent').load('#chart'); 
    }); 
}); 
0

你必須把updatepanel中的按鈕也是如此。

<ext:ContentHeader ID="header" runat="server" Visible="false" /> 
<asp:UpdatePanel ID="upControl" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
    <ContentTemplate> 
     <asp:Button ID="btnRefresh" runat="server" Text="Refresh" OnClick="btnRefresh_OnClick" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

感謝您的回覆。但該按鈕是由用戶控制自動生成的。不能以靜態方式將其放入更新面板。 – jahsonkidd22

相關問題