2017-08-24 32 views
0

我有這種情況。這是前端asp:按鈕組件。從OnClientClick返回true後在方法後執行OnClick代碼javascript函數

<asp:Button ID="btnNewsAdd" runat="server" Text="Edit current news item" OnClientClick="return Confirm();" OnClick="btnNewsAdd_Click" UseSubmitBehavior="false"/> 

這是JavaScript:

<script type="text/javascript"> 
function Confirm() { 
    var result = window.confirm('Are you sure?'); 
     if (result == true) 
     return true; 
     else 
     return false;   
} 
</script> 

用戶應該點擊「btnNewsAdd」按鈕後,這個Javascript應該被解僱,並有一個對話框或任何選項彈出。單擊yes將返回true,no將返回false。如果返回true,則後端中的ASP.Net方法將會觸發:btnNewsAdd_Click。直到15分鐘前它一直在運轉。在調試時,JS會遍歷返回的真實行,然後傳入我沒有創建自己的JavaScript文件;但是,後端方法不會觸發。

我注意到在Sources部分中,HTML轉換爲下面的。可以看到OnClick和OnClientClick自動合併到OnClick中。這是自動的,我不知道它可能是問題還是它的一部分。

<input type="button" name="ctl00$MainContent$btnNewsAdd" value="Edit current news item" onclick="return Confirm();__doPostBack(&#39;ctl00$MainContent$btnNewsAdd&#39;,&#39;&#39;)" id="MainContent_btnNewsAdd" /> 

我已經花了一整天的時間試圖繞過它。在某個時候它正在工作,它沒有改變任何東西就停止了工作。任何建議感激。

+1

您可能會發現您的答案https://stackoverflow.com/questions/14058116/confirm-postback-onclientclick-button-asp-net – Rex

+0

感謝它幫了我很多。我會用解決方案發表一個答案。 –

回答

0

正如指出的雷克斯,並且此線程內的幾個作爲解釋:通過改變按鈕See other thread

<asp:Button ID="btnNewsAdd" runat="server" Text="Edit current news item" OnClick="btnNewsAdd_Click" OnClientClick="if (!Confirm()) return false;"/> 

和Javascript來:

<script type="text/javascript"> 
function Confirm() { 
    return confirm("Are you sure?");   
} 
</script> 

問題解決了。

相關問題