2012-04-28 105 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 =「假」,這將停止回傳,但你仍需要使用客戶端腳本調用服務器端功能,您可以使用回調板

相關問題