1

我在 UpdatePanel 中有一个带有多个下拉列表的 ModalPopupExtender,我使用 JavaScript 打开页面并在查询字符串中传递参数。

下拉列表选择的索引始终设置为 0(ModalPopupExtender 启动时的初始值)。

有什么帮助吗?

JS函数

function openInterfacePage() {
    var url = "Interface.aspx?";
    if ($('#<%= DDLPOP.ClientID %>').prop("selectedIndex") > 0) {
        url += "pop=" + $('#<%= DDLPOP.ClientID %> option:selected').val().trim();
    }
    if ($('#<%= DDLDevicePOPUP.ClientID %>').prop("selectedIndex") > 0) {
        url += "&device=" + $('#<%= DDLDevicePOPUP.ClientID %> option:selected').val().trim();
    }
    if ($('#<%= DDLDeviceInterface.ClientID %>').prop("selectedIndex") > 0) {
        url += "&interface=" + $('#<%= DDLDeviceInterface.ClientID %> option:selected').val().trim();
    }
    window.open(url, "mywindow", "toolbar=0,titlebar=0,status=0,resizable=0,menubar=0,location=1, width=920,height=500");
}

prop("selectedIndex") 始终 = 0,我认为 javascript 无法识别回发后发生的更改。

4

1 回答 1

0

我发现了这背后的原因,我发布它以防其他人面临同样的问题。

我把我的代码放在一个用户控件中,而javascript函数在同一个用户控件中,所以页面中有相同函数的不同副本(页面中使用用户控件的次数相同)。

所以我从用户控件中删除了这些功能并将其放在页面中,所以现在该功能只有一个副本。并将下拉列表控件的 ID 作为参数传递给函数。

于 2013-01-03T09:07:47.693 回答