1

我正在使用 Jquery Mobile 打开对话框。问题是btnSend_Click事件没有触发。我正在尝试做的是在更新面板中保留按钮和文本框,并在破坏服务器端的代码后回发并关闭对话框。

样品在这里

父页面按钮 HTML

<a href="/Kiosk/RetrieveTickets/RetrieveTicketsBySms.aspx" data-role="button" data-inline="true" data-theme="c" class="MyBigButton"
                        data-inline="true" data-rel="dialog" data-transition="pop">Via SMS
                        <br />
                        <br />
                        <img src="/Kiosk/images/mobile.png" />
                    </a>

对话框页面 HTML

  <div id="dlgSms" data-role="dialog" data-theme="b">
        <div data-role="header" data-theme="d">
            <h1>
                Retrieve Tickets By SMS</h1>
        </div>
        <div data-role="content" data-theme="c">
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <p>
                        Please type here your mobile number. You will get your ticket on your mobile via
                        SMS.</p>
                    <asp:TextBox runat="server" ID="txtMobileNumber" placeholder="Enter Mobile Number" />
                    <asp:Button ID="btnSend" Text="Send SMS Now" runat="server" data-theme="b" OnClick="btnSend_Click" />
                </ContentTemplate>
            </asp:UpdatePanel>
            <a href="#" data-role="button" data-rel="back" data-theme="c">Cancel</a>
        </div>
    </div>
4

1 回答 1

1

我将在这里向您描述主要问题。

当您单击“通过 SMS”按钮打开一个对话框时,脚本会加载一个不同的 aspx 页面,RetrieveTicketsBySms.aspx并将其呈现在前一个的 DOM 中。所以按钮和更新面板和脚本RetrieveTicketsBySms.aspx现在已经成为历史。

所以按钮它的火,而是调用RetrieveTicketsOptions.aspx页面,甚至没有它,而且哈希验证也失败了,所以它没有被触发。您在更新面板中也有它,所以从我所看到的情况来看,甚至没有发回任何帖子。

此处可能的解决方案是放置对话框的内容,该内容将加载到RetrieveTicketsBySms.aspxiframe 内部——如果可能的话。并删除更新面板。

于 2012-09-23T09:21:28.020 回答