0

ボタンのコールバックを無効にする方法、このボタンをクライアント側でのみ使用したいですか?

<dx:ASPxButton ID="btn_clear" runat="server" 
    Text="Clear" Width="90px" OnClick="btn_clear_Click">
    <ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>
4

5 に答える 5

4

onClientClick=return false通常のポストバックの処理を妨げます。クライアント側でカスタムJavaScriptを実行する場合は、その後returnfalseを呼び出すことができます

<asp:Button id="btn1" runat="server" onClientClick="return MyFunction" />

そしてjavascriptで

function MyFunction()
{
  //Do your custom code

 return false;
}
于 2012-04-28T15:34:39.733 に答える
3

ボタンタグのプレフィックスから判断すると、通常のasp.netボタンではなくDevexpressコンポーネントを使用しているように見えます。DevexpressのASPxButtonコントロールクライアントクリックイベントにはprocessOnServer、ポストバックを防ぐためにfalseに設定できるプロパティがあります。

<dx:ASPxButton ID="btn_clear" runat="server" 
    Text="Clear" Width="90px" OnClick="btn_clear_Click">
    <ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>

そしてあなたのOnClick()javascript関数:

function OnClick(s, e)
{
        e.processOnServer = false;
}

サードパーティのコンポーネントを使用せずに、ボタンでクライアント側で何かを実行したい場合は、HTML入力ボタンを使用しますが、asp.netボタンのクライアント側の機能を自由に使用できるようにしたい場合(検証の実行など)それならShyjuの答えは行く方法です。

于 2012-08-09T12:22:23.473 に答える
1

単にOnClickハンドラーを削除するのはどうですか?

<dx:ASPxButton ID="btn_clear" runat="server" 
    Text="Clear" Width="90px">
    <ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>

または、最初にHTMLボタンを使用することをお勧めします(<input type="button" />)。

于 2012-04-28T15:30:23.790 に答える
0

できません。

サーバー側のコントロールは、サーバー側で実行する必要があります。

属性を省略すると、マークアップは次のように正確runat="server"にレンダリングされます。

<dx:ASPxButton ID="btn_clear" 
    Text="Clear" Width="90px" OnClick="btn_clear_Click">
    <ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>

dx:ASPxButton要素は有効なHTML要素ではないため、これはブラウザによって完全に無視されます。

于 2012-04-28T15:17:19.367 に答える
0

属性AutoPostBack="false"を追加するだけで、ポストバックが停止します。それでも、クライアント側のスクリプトを使用してサーバー側の関数を呼び出す必要があります。コールバックパネルを使用できます。

于 2014-08-18T07:04:34.477 に答える