0
Protected Sub lnkContractors_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkContractors.Click

    If Context.User.IsInRole("HOD") Then
        lnkContractors.OnClientClick = "PopupCenter('Juniors.aspx', 'myPop1',820,500);"
    ElseIf Context.User.IsInRole("Contractor") Then
        lnkContractors.OnClientClick = "PopupCenter('Contractors.aspx', 'myPop1',820,500);"
    End If

End Sub

マスター ページに LinkBut​​ton があり、linkBut​​ton は UpdatePanel 内にあります。問題は、リンクボタンを初めてクリックしたときに、ページが更新されるだけでポップアップ ウィンドウが開かないことです。ポップアップウィンドウを開くには、もう一度クリックする必要があります。

function PopupCenter(pageURL, title, w, h) {
            var left = (screen.width / 2) - (w / 2);
            var top = (screen.height / 2) - (h / 2);
            var targetWin = window.open(pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
    } 
4

1 に答える 1

1

OnClientClickページ読み込み時に JavaScript 関数を記述する必要があります。ボタンOnClickイベントではありません。ボタンにクライアント側の機能を追加する決定は、ページがロードされたらすぐに行う必要があるためです。

ボタンクリックイベントに現在あるコードをページロードイベントに移動して、何が起こるかを確認してください。

于 2012-04-04T09:41:55.377 に答える