如何禁用按钮回调,我只想在客户端使用此按钮?
<dx:ASPxButton ID="btn_clear" runat="server"
Text="Clear" Width="90px" OnClick="btn_clear_Click">
<ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>
答案 0 :(得分:3)
onClientClick=return false
将阻止处理正常的回发。如果你想在客户端做一些自定义的javascript,你可以在那之后调用return false
<asp:Button id="btn1" runat="server" onClientClick="return MyFunction" />
并在javascript中
function MyFunction()
{
//Do your custom code
return false;
}
答案 1 :(得分: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's answer即可。
答案 2 :(得分:1)
关于简单地删除OnClick处理程序?
<dx:ASPxButton ID="btn_clear" runat="server"
Text="Clear" Width="90px">
<ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>
甚至更好,只需首先使用HTML按钮(<input type="button" />
)。
答案 3 :(得分:0)
你不能。
服务器端控件必须在服务器端运行。
如果省略runat="server"
属性,则标记会像这样呈现完全:
<dx:ASPxButton ID="btn_clear"
Text="Clear" Width="90px" OnClick="btn_clear_Click">
<ClientSideEvents Click = "OnClick" />
</dx:ASPxButton>
浏览器将完全忽略这一点,因为元素dx:ASPxButton
不是有效的HTML元素。
答案 4 :(得分:0)
只需添加一个属性AutoPostBack =“false”,这将停止回发,仍然需要使用客户端脚本调用服务器端功能,可以使用回调面板