2012-04-28 67 views
0

如何禁用按钮回调,我只想在客户端使用此按钮?禁用asp.net按钮的服务器端

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

回答

1

有关简单地删除OnClick处理程序?

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

甚至更​​好,只是摆在首位(<input type="button" />)使用HTML按钮。

+0

第一个选项解决了它,结合“Autopostback = false”。 – 2012-04-28 16:21:42

0

你不行。

服务器端控件必须运行在服务器端。

如果省略了runat="server"属性,标记将使正是这样的:

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

这将被浏览器完全忽略,作为一个元素dx:ASPxButton不是有效的HTML元素。

+0

我不想它做回调。 – 2012-04-28 15:17:54

+0

@elninho - 然后删除服务器端事件,如“OnClick”。我建议阅读有关具体控制的文档。 – Oded 2012-04-28 15:19:33

3

onClientClick=return false将阻止处理正常的回发。如果你想要做一些custome的JavaScript在客户端,你可以调用之后

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

而且在JavaScript

function MyFunction() 
{ 
    //Do your custom code 

return false; 
} 
3

看你的按钮标记前缀,它看起来返回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's answer是要走的路。

0

只需添加一个属性的AutoPostBack =“假”,这将停止回传,但你仍需要使用客户端脚本调用服务器端功能,您可以使用回调板

相关问题