2016-06-22 25 views
2

最初にOnCommandまたはOnClientClickを実行する関数を知りたいですか?asp.netで最初に実行される関数はどれですか?

<asp:LinkButton ID="btnHRApprove" runat="server" Text="Approve" OnCommand="btnApprove_Click" OnClientClick="return ValidatePayrate()" CommandArgument="HR" CssClass="adLink" /> 
+1

それは 'になりますOnClientClick'を起動します:Hケースではなく、与えられたコマンドボタンがクリックされたよりも、これをチェックします – Mairaj

+0

あなたは自分自身でブレークポイント(バックエンドコード)/デバッガ(javascriptコード)を置くことで、いつでもテストすることができます。 –

答えて

1
OnClientClick 

OnCommand 

は、クライアント側で実行されるが、サーバ側メソッドを呼び出して、結合させることができるされている間、それは、クライアント側で実行されているが、唯一つのコントローラに結合されているので、最初の実行S、及び、コマンドは次のようであるかを決定するために、スイッチケースを通じて処理:いくつかの異なるIDを持つボタンに

<asp:Button id="btnHRApprove" 
     Text="approve" 
     CommandName="ValidatePayrate" 
     OnCommand="btnApprove_Click" 
     runat="server"/> 

    <asp:Button id="btnSubmit" 
     Text="Submit" 
     CommandName="Submit" 
     OnCommand="btnApprove_Click" 
     runat="server"/> 

そして背後にあるコード(ここではC#)とでは、switcを使用することができクライアントJavaScriptがオフになっている

void btnApprove_Click(Object sender, CommandEventArgs e) 
    { 
    switch(e.CommandName) 
    { 
     case "ValidatePayrate": 
      //Your ValidatePayRate code here 
      break; 
     case "Submit": 
      // Submit code here 
      break; 
     default: 
      // Default 
      break; 
    } 
    } 

場合は、OnClientClickは発生しませんし、オンデマンドではなく

1

Webアプリケーションで作業している場合、それはメソッドとコールは常に最初に実行し、クライアント側のために書かれていることを覚えておくことが常にあります。

ValidatePayrate()が最初に起動され、falseを返した場合、サーバー側の機能は実行されません。

2
OnClientClick="return ValidatePayrate()" 

それは偽の後、さらに実行はそう

OnCommand="btnApprove_Click" 

が実行されます停止して返す場合、これは、最初に実行され、その戻り値に基づいて、次の機能が実行され、 。

関連する問題