2017-05-29 51 views
0

我有一個usercontrol作爲頁面上的標題。用戶控件有註冊按鈕,它打開一個modalpopupextender。註冊鏈接上的彈出式開放代碼如下:modalpopupextender asp.net usercontrol頁面

protected void lnkSignUp_Click(object sender, EventArgs e) 
{ 
    mp1.Show(); 
} 

現在我能夠在我的頁面中成功使用此用戶控件。問題是在我的頁面中,除了標題之外還有其他鏈接,它們將提供註冊功能。現在我想使用usercontrol的註冊彈出框,通過點擊頁面註冊鏈接來打開。我應該怎麼做頁面鏈接點擊。我試圖從網頁下面的代碼,但myMpeModal返回null:

ucHeaderJobseeker uc1 = new ucHeaderJobseeker(); 
     var myMpeModal = (AjaxControlToolkit.ModalPopupExtender)uc1.FindControl("mpeModal"); 
     myMpeModal.Show(); 

回答

0

試着做這樣的事情:

您的前端(.aspx頁面中):

<uc1:WebUserControl runat="server" ID="myUserControl" /> 

你的用戶控件應該看像這樣:

<ajax:ModalPopupExtender ID="mpeModal" runat="server" BackgroundCssClass="modalBackground" 
     PopupControlID="pnlShowMe" TargetControlID="btnClickMe" CancelControlID="btnClose"> 
    </ajax:ModalPopupExtender> 
    <asp:Button ID="btnClickMe" runat="server" Text="Click Me" OnClick="btnClickMe_Click" /> 
    <asp:Panel ID="pnlShowMe" runat="server" CssClass="ModalPanel"> 
    </asp:Panel> 

後面的代碼(.aspx.cs):

var myMpeModal = (AjaxControlToolkit.ModalPopupExtender)myUserControl.FindControl("mpeModal"); 
     myMpeModal.Show(); 

在上面的代碼中,「myUserControl」是您的用戶控件,「mpeModal」是您的ModalPopupExtender ID。

使用上面的代碼,只要你想在你的頁面顯示彈出窗口。

+0

編輯了這個問題myMpeModal返回null –

+0

不需要再次初始化對象。使用aspx頁面中列出的相同控件。 –

+0

myUserControl沒有FindControl方法。它給編譯錯誤。 –

相關問題