【问题标题】:Disable postback on jQuery dialog在 jQuery 对话框上禁用回发
【发布时间】:2013-04-01 03:11:37
【问题描述】:

有没有办法阻止每次调用下拉列表回发时弹出 jquery 模态对话框?因为似乎整个页面都会刷新,因此我的 jquery 模式对话框也会弹出,但我想阻止这种情况发生,我只需要在第一次加载页面时弹出它。

这是我的 Javascript,尝试使用 event.preventDefault 但它仍然无法正常工作。

$(function() {
    $("#ddlNo").click(function(event) {
        event.preventDefault();
    });
    $("#dialog").dialog({
        autoOpen: true,
        closeOnEscape: false,
        modal: true,
        show: { effect: "fade", duration: 1000 },
        buttons: {
            "Confirm": function() {
                var bValid = true;
                allFields.removeClass("ui-state-error");
                bValid = bValid && check(true);

                if (bValid) {
                    $("#users tbody").append("<tr>" +
                "<td>" + agree.val() + "</td>" + "</tr>");
                    $(this).dialog("close");
                }
            }
        },
        close: function() {
            allFields.val("").removeClass("ui-state-error");
        }
    });
});

这是我的标记:

<asp:DropDownList ID="ddlNo" runat="server" DataSourceID="odsEq"
    DataTextField="No" DataValueField="Id" AutoPostBack="true">
</asp:DropDownList>

【问题讨论】:

    标签: javascript jquery asp.net drop-down-menu postback


    【解决方案1】:

    我建议你创建一个打开一个弹出窗口的函数,从服务器端的页面加载事件,让我们在Postback != True时注册一个客户端脚本,这个脚本会调用你的js脚本来打开对话框。希望对您有所帮助。

    如果您不知道如何使用注册客户端脚本,您可以查看MSDN

    【讨论】:

      【解决方案2】:

      如果当有人更改下拉列表时您不需要它来回发,则将其更改为 AutoPostBack="false"

      如果您确实需要回发,请将其放在 UpdatePanel 中,其他控件取决于其状态,并使用正确的异步语法,如下例所示:http://msdn.microsoft.com/en-us/library/system.web.ui.asyncpostbacktrigger.aspx

      【讨论】:

      • 嗨 Rob G,这可以在客户端脚本上完成吗?而不是使用 UpdatePanel?
      【解决方案3】:

      只是想我应该分享一个解决方案。找到了一个可行的解决方案,有需要的可以使用:

      <%if (!this.IsPostBack)
            { %>
          <script type = "text/javascript">
              $(function () {
                  //logic
              });
          </script>
          <%} %>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-08
        • 1970-01-01
        相关资源
        最近更新 更多