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,你可以在这之后调用 return false

<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

从您的按钮标签前缀来看,您似乎使用的是 Devexpress 组件而不是普通的 asp.net 按钮。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

只需添加一个属性 AutoPostBack="false",这将停止回发,仍然需要使用客户端脚本调用服务器端函数,您可以使用回调面板

于 2014-08-18T07:04:34.477 回答
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 回答