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関数が同じユーザーコントロールにあったため、ページに同じ関数の異なるコピーがありました(ページでユーザーコントロールを使用するのと同じ数)。

そのため、ユーザーコントロールから関数を削除してページに配置したため、その関数のコピーは1つだけになります。ドロップダウン リスト コントロールの ID をパラメータとして関数に渡しました。

于 2013-01-03T09:07:47.693 に答える