1

要件として、ASP.NET のボタンのクライアント側とサーバー側の両方のクリック イベントを発生させる必要があります。それは可能ですか?以下のようにしてみました。ただし、クライアント側のクリック イベントは発生しません。

[ASPX]

  <asp:Button ID="Button1" runat="server" Text="Disable" OnClick="disable"  CausesValidation="false"  OnClientClick="return click();" />

[脚本]

 function click()
 {
        alert("hi")

  }
4

3 に答える 3

9

はい、可能です。クライアント側のJavascriptが返さtrueれると、サーバー側のメソッドが呼び出されます。

例えば:

function click()
{
    return confirm("Do you want to continue?");
}
于 2013-01-22T11:31:41.063 に答える
0
<asp:Button ID="Button1" runat="server" Text="Disable" OnClick="disable"  CausesValidation="false"  OnClientClick="click();" />

function click()
{
   alert("hi");
   this.click();

}
于 2013-01-22T11:34:29.667 に答える
0

クライアント側関数は、コードで呼び出す必要があります。唯一のことは、サーバー側の関数が呼び出される戻り値に依存します。

   function Click() {
    alert('Hi');
    if (somecondition) {
        return true;
    }
    return false;
}

また、コードで「無効にする」と述べているように、サーバー側のイベントハンドラーが正しい名前であるかどうかを確認してください。これは適切な名前ではないと思います。

また、CausesValidation 属性が本当に必要かどうかも確認してください。これは、クライアント側の関数が手動で呼び出されるため、不要になった可能性のあるバリデータ用であったためです。

于 2013-01-22T11:46:40.633 に答える