2012-04-04 9 views
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があり、リンクボタンはUpdatePanelの内側にあります。問題は、初めてリンクボタンをクリックすると、ページが更新されるだけですが、ポップアップウィンドウは開きません。ポップアップウィンドウを開くには、もう一度クリックする必要があります。My LinkBut​​tonはClickイベントが2回クリックされた場合にのみコードを実行しています

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); 
    } 
+0

コントロールを通常のボタンに切り替えてみてください。 – TheGeekYouNeed

+0

しかし、通常のボタンとハイパーリンクには、ポップアップウィンドウを開くjavascriptの実行に使用するOnClientClickプロパティはありません。 – StackTrace

答えて

1

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

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

+0

ありがとうございます、今すぐ最初のクリックで動作します。 – StackTrace

関連する問題