Вызовите модал внутри ascx с другой страницы ascx по клику на span - PullRequest
1 голос
/ 01 мая 2019

У меня есть модал внутри page1.ascx, который нужно вызывать по клику на span от page2.ascx.Я не могу заставить это работать.Пожалуйста помоги.

Page2.ascx

  <ul class="nav metismenu" id="side-menu">          
            <li id="nav_callback" runat="server">
                <a><i class="fa fa-phone"></i> <span class="nav-label spmodal" onclick="open_request_callback()">Request Callback</span></a>
            </li>
        </ul>  

Page2.ascx (функция JS)

   function open_request_callback() {
            $get("<%=btn_open_request_callback.ClientID %>").click();
        }  

Page2.ascx (asp: нажатие кнопки):

<div class="hidden">   
    <asp:Button ID="btn_open_request_callback" runat="server" OnClick="btn_open_request_callback_Click" />   
</div>

<telerik:RadAjaxManagerProxy ID="ram" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="btn_open_request_callback">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="btn_open_request_callback" UpdatePanelRenderMode="Inline"/>
            </UpdatedControls>
        </telerik:AjaxSetting>      
    </AjaxSettings>
</telerik:RadAjaxManagerProxy>  

Page2.ascx (код сзади):

  protected void btn_open_request_callback_Click(object sender, EventArgs e)
        {
            request_callback callback = new request_callback();
            callback.open_callback_model();            
        }

Page1.ascx (код сзади): - Не вызывать функцию Javascript

  public void open_callback_model()
        {
            ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "open_callback_modal", "open_callback_modal();", true);
        }

Page1.ascx (функция JS)

   function open_callback_modal() {
             alert('You clicked the button!')
             $get("btn_open_callback").click();
        }

Page1.ascx (щелчок пролета):

   <span id="btn_open_callback" data-toggle="modal" data-target="#mdl_request_callback"></span>  

1 Ответ

0 голосов
/ 01 мая 2019

Необходимо зарегистрировать управление:

<%@ Register Src="~/controls/request_callback.ascx" TagPrefix="uc1" TagName="request_callback" %>   
<uc1:request_callback runat="server" id="request_callback" />  
...