如何禁用按钮回调,我只想在客户端使用这个按钮?
<dx:ASPxButton ID="btn_clear" runat="server"
Text="Clear" Width="90px" OnClick="btn_clear_Click">
<ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>
如何禁用按钮回调,我只想在客户端使用这个按钮?
<dx:ASPxButton ID="btn_clear" runat="server"
Text="Clear" Width="90px" OnClick="btn_clear_Click">
<ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>
onClientClick=return false
将阻止处理正常的回发。如果你想在客户端做一些自定义 javascript,你可以在这之后调用 return false
<asp:Button id="btn1" runat="server" onClientClick="return MyFunction" />
在 javascript 中
function MyFunction()
{
//Do your custom code
return false;
}
从您的按钮标签前缀来看,您似乎使用的是 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的答案就是要走的路。
如何简单地删除 OnClick 处理程序?
<dx:ASPxButton ID="btn_clear" runat="server"
Text="Clear" Width="90px">
<ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>
或者更好的是,首先使用一个 HTML 按钮 ( <input type="button" />
)。
只需添加一个属性 AutoPostBack="false",这将停止回发,仍然需要使用客户端脚本调用服务器端函数,您可以使用回调面板
你不能。
服务器端控件必须在服务器端运行。
如果省略该属性,标记将完全像这样runat="server"
呈现:
<dx:ASPxButton ID="btn_clear"
Text="Clear" Width="90px" OnClick="btn_clear_Click">
<ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>
这将被浏览器完全忽略,因为元素dx:ASPxButton
不是有效的 HTML 元素。