2013-02-11 70 views
3

我的網頁上有一個asp:Button,它調用JavaScript函數和代碼隱藏方法。後者打電話導航到另一個頁面。在JavaScript函數中,我正在檢查一個條件。如果沒有滿足這個條件,我想中止導航,以便不調用OnClick方法。這可能嗎?從JavaScript中的OnClientClick事件阻止C#中的asp:Button OnClick事件?

<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="SaveValues()" 
    Text="Action1" CssClass="specialButton" runat="server" /> 

回答

4

要執行封鎖OnClick,剛剛從OnClientClick返回false

<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="return SaveValues();" 
    Text="Action1" CssClass="specialButton" runat="server" /> 

假設SaveValues也將返回一個布爾值的條件是否得到滿足。

+0

工作就像一個魅力,謝謝。由於來源和時間而標記爲答案。 – Freakishly 2013-02-11 10:30:55

1

返回truefalse,根據JavaScript的成功,應該阻止或啓用按鈕提交。所以,不要在OnClientClick末尾加上它,在那裏你必須作出規定並立即使你的呼叫看起來更難看,讓方法指示它的運行狀態。

2

是有可能

function SaveValues() 
{ 
if(//check your codition here) 
{ 
return true; 
} 
else 
{ 
return false; 
} 
} 

<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="javascript:return SaveValues();" Text="Action1" CssClass="specialButton" runat="server" />