jQuery模式和asp.net按钮单击

时间:2013-09-18 20:00:48

标签: jquery asp.net

我已经阅读了这个问题的一些解决方案但是所有这些都使用了对话而不是模态,加上我尝试过的解决方案都没有。问题是我无法让我的asp按钮单击以在jquery模式中触发。这是代码:

$(function () {

    $('.showmodal-login').click(function (e) {
       // e.preventDefault();
        ShowLoginForm($(this).attr('href'));

        return false;
    });

    $('#<%= btnClose.ClientID %>').click(function (e) {
        e.preventDefault();
        if (isMobile) {
            $('.modal-content').each(function () {
                if ($(this).is(':visible')) {
                    $(this).toggle();
                }
            });
            $("#main").toggle();
        }
        else {
            $.modal.close();
        }
        return false;
    });

});
function ShowLoginForm(redirectUrl) {
    if (isMobile) {
        $("#modal-login").toggle();
        $("#main").toggle();
        $('#login-form').show();
        $('#login-message').hide();
       // $('#<%= btnSubmit.ClientID %>').attr('data-redirecturl', redirectUrl);
    }
    else {
        $("#modal-login").modal({
            maxWidth: 338,
            autoResize: false,
            close: false,
            onShow: function (dlg) {
                $('#login-form').show();
                $('#login-message').hide();
                //$('#<%= btnSubmit.ClientID %>').attr('data-redirecturl', redirectUrl);
                ResizeModal();
            }
        });
    }
}

HTML

 <div id="modal-login" class="modal-content">

<div id="login-form">
    <div class="content-wrap">

        <p>Login with your username and password to access the selected link.</p>
        <asp:Label ID="lblUsername" runat="server" AssociatedControlID="txtUsername">Username:</asp:Label>
        <asp:TextBox ID="txtUsername" runat="server" Width="268px" ClientIDMode="Static" />
        <asp:Label ID="lblPassword" runat="server" AssociatedControlID="txtPassword">Password:</asp:Label>
        <asp:TextBox ID="txtPassword" runat="server" Width="268px" ClientIDMode="Static" TextMode="Password" />
    </div>
    <div id="btnSub" class="buttons">
        <asp:HyperLink ID="hlnkCancel" runat="server" NavigateUrl="#" CssClass="close-modal">Cancel</asp:HyperLink>
        <asp:Button ID="btnSubmit" runat="server" Text="Login" OnClick="btnSubmit_Click" />
    </div>
</div>
<div id="login-message">
    <div class="content-wrap">
    </div>
    <div class="buttons">
        <asp:Button ID="btnClose" runat="server" Text="Close" />
    </div>
</div>

我在过去通过添加

的jquery对话解决了这个问题
 function reLoad() {
    // jQuery.post();
    document.forms["frmMain"].submit();
}

但在这种情况下不起作用。

1 个答案:

答案 0 :(得分:0)

看起来你错过了UseSubmitBehavior =&#34; false&#34;在你的asp按钮。像...一样添加这个。

<asp:Button ID="btnSubmit" runat="server" Text="Login" OnClick="btnSubmit_Click" UseSubmitBehavior="false" />

我有同样的问题。我只能使用链接按钮,因为它不使用提交行为。按钮这样做你必须将其关闭。这应该工作。