ASP-Jquery Dialog UI函数在第一次回发后失去功能

时间:2014-07-18 14:48:06

标签: jquery asp.net user-interface webforms

我对ASP& amp; C#。我有一个运行C#函数的LinkBut​​ton来从数据库中收集数据,然后将这些值添加到我正在使用jQuery UI对话框显示的Div中。它的功能是用户将jquery对话框中的值添加到表单中,此函数将运行多次,因为大多数时候用户将添加多个值。目前,在运行一次并向表单添加值后,再次单击LinkBut​​ton绝对不会执行任何操作。

我最初使用" ASP.NET Web Forms Application"创建的项目。因为这是我的第一个网络项目,几天前我创建了一个新项目但是作为一个空的Web表单应用程序,因为我已经掌握了它,并希望从头开始构建应用程序。我将所有代码移动到这个新项目,添加了我安装的所有引用和任何NuGet包。这是问题开始发生的时候。我假设它只是一些小而愚蠢的东西,我忘记了,但它已经过了3天而我需要帮助。

一些细节:

  • IIS 7.5
  • 适用于所有浏览器
  • 首次成功完成后,LinkBut​​ton不会执行任何操作
  • 一次完美无缺。
  • 在IIS中使用Classic管道
  • 使用jQuery 1.11.1库

一些代码 -

链接按钮:

<asp:LinkButton ID="addId" runat="server" OnClick="showPopup_Click">Add Id</asp:LinkButton>

从代码后面的函数调用的Javascript代码:(我在阅读了另一个可能的解决方案后对其进行了修改,但仍然没有去)

function eventRegistration()
{
    $('#addStigId').click(ShowPopup);
}
function ShowPopup(message) {
    //$(document).ready(function () {
        $('#addStigId').click(function () {
            $('#newDialog').dialog('open');
            return false;
        });
        $('#newDialog').dialog({
            dialogClass: 'stigIdDialogCSS',
            resizable: false,
            height: 200,
            title: "Add Stig ID",
            modal: true
        });
        $("#newDialog").show();
}
$(document).ready(eventRegistration());

从后面的代码调用ShowPopup。

1 个答案:

答案 0 :(得分:0)

您似乎将某些功能用于混淆,例如将事件处理程序分配给文档就绪和元素单击。我认为这就是你的意思......

function eventRegistration()
{
    $('#addStigId').click(function () {
        showPopup();
        return false;
    });
}

function ShowPopup() {
    $('#newDialog').dialog({
        dialogClass: 'stigIdDialogCSS',
        resizable: false,
        height: 200,
        title: "Add Stig ID",
        modal: true
    });
    $("#newDialog").show();
}

$(document).ready(eventRegistration);

当您的文档加载后,它将运行事件注册功能,将单击事件处理程序分配给#addStigId。这应该都可以了。您可以选择将事件注册放在匿名函数中(就像您对#addStigId click事件所做的那样)并将其传递到文档就绪处理程序中。你不需要这样做,但我会给你一个例子,因为它更常见,所以你至少知道它是什么......

function ShowPopup() {
    $('#newDialog').dialog({
        dialogClass: 'stigIdDialogCSS',
        resizable: false,
        height: 200,
        title: "Add Stig ID",
        modal: true
    });
    $("#newDialog").show();
}

$(document).ready(function() {
    $('#addStigId').click(function () {
        showPopup();
        return false;
    });
});

我认为这会对你有所帮助,但如果没有,那就大喊大叫,因为我可能误解了一些事情:)