如何禁用ASP.NET代码后面的JqueryUI对话框按钮?

时间:2015-06-17 01:18:36

标签: javascript c# jquery asp.net jquery-ui

我正在做一个项目,我需要从后面的代码中禁用一个jquery ui对话框按钮。我的代码是:

var viewPopup = $('#popupPanel').dialog({
            modal: true,
            autoOpen: false,
            height: 580,
            width: 800,
            appendTo: $('form:first'),
            buttons: [{
                id:"jqueryBtn",
                text: "Submit",
                click: function () {
                    $("#<%=aspnetBtn.ClientID%>").click();
                }
            }]
        });

我需要从后面的代码中禁用jqueryBtn。我知道这是客户端 - 服务器问题。我怎样才能做到这一点? 在此先感谢:)

3 个答案:

答案 0 :(得分:0)

创建asp:HiddenField作为标志。在代码隐藏上设置标志。代码运行后会有一个回发,然后是DOMReady。在DOMReady中检查标志并禁用/启用按钮。

答案 1 :(得分:0)

不是100%确定你想要实现的目标 但是如果你想在服务器端禁用一个按钮,有几个选项:

  1. 使按钮成为asp.net服务器控件,就像使用标签一样,然后将逻辑放在代码中

  2. 在客户端有一个禁用按钮功能,然后使用ScriptManager在服务器端调用该功能.RegisterClientScriptBlock

答案 2 :(得分:0)

您可以使用jquery dialog event open

var viewPopup = $('#popupPanel').dialog({
        modal: true,
        autoOpen: false,
        height: 580,
        width: 800,
        appendTo: $('form:first'),
        buttons: [{
            id:"jqueryBtn",
            text: "Submit",
            click: function () {
                $("#<%=aspnetBtn.ClientID%>").click();
            }
        }],
        open: function() {
           $('#jqueryBtn').button("disable");
        }
   });

这是 DEMO