2011-10-16 88 views
2

如何讓服務器運行?客戶端點擊事件代替後面的代碼

javascript: 
function confirm_delete() 
{ 
    if (confirm("Are you sure you want to delete?")==true) 
    return true; 
    else 
    return false; 
} 

ASP

div.Attributes.Add("onclick", "return confirm_delete();"); 
+0

你似乎已經做到了。 –

+0

它不在服務器上運行?也許我說錯了。 –

+3

沒有JavaScript僅在客戶端上運行。 –

回答

1

爲了捕捉在服務器端的事件,您需要使用runat="server"

<form runat="server"> 
    <asp:Button id="button1" Text="Click me!" runat="server" OnClick="confirm_delete" /> 
</form> 

事件處理程序本身需要在後面的代碼。我不記得在ASP.net中是否支持JScript,但是confirm肯定不是。

要在服務器上運行此操作,您需要重構應用程序。您需要使用confirm_delete函數來渲染帶有確認其操作的表單的頁面。這並不是很糟糕,因爲你可以將它隱藏在那裏。 confirm_delete會隱藏正常內容並顯示確認表單。確認表單需要有「OK」或者取消按鈕,也可以掛接到執行刪除操作(我假設這是服務器OnClick已經連線的位置)的後端事件處理程序,或者將您帶回到完整頁面視圖。

它比JavaScript確認彈出框要複雜得多,但它的操作並不可怕。