2012-11-16 29 views
0

我對Java腳本並不熟悉,因此我需要您的幫助和建議!點擊時,我在asp按鈕中有以下代碼。當確認框被顯示時,用戶有兩個選擇來選擇確定或取消。以下代碼適用於兩種情況:「確定」或「取消」。使用JavaScript if/then/else到ClientScript函數

protected void cancel_Click(object sender, EventArgs e) 
    { 
     string url = "../../Default.aspx"; 

     ClientScript.RegisterStartupScript(this.GetType(), "callfunction", "confirm('Data is not saved'); window.location.href = '" + url + "';", true); 
    } 

然而,我所要做的是執行的if/then/else語句我語句中使用ClientScript Javascript中,不知道的是正確的語法。例如我想要做什麼

ClientScript.RegisterStartupScript(this.GetType(), "callfunction", "javascript:if(confirm('Data is not saved')== true) return {document.location.href = '../../Default.aspx'}; else {document.location.href = '../../Current.aspx'};", true); 

任何意見將不勝感激!

回答

1

在添加服務器端之前嘗試腳本,這樣更容易調試。

這裏有兩種方法來編寫if語句;

if (confirm('Data is not saved')) { 
window.location.href = '../../Default.aspx'; 
} else { 
window.location.href = '../../Current.aspx'; 
} 

或甚至;

window.location.href = confirm('Data is not saved') ? 
    '../../Default.aspx' : '../../Current.aspx'; 

UPDATE

<asp:Button ID="cancel" runat="server" Text="Cancel" CausesValidation="false" 
    onClientClick="window.location.href = confirm('Data is not saved') ? '../../Default.aspx' : '../../Current.aspx';" 
/> 

還要注意的是,你應該使用,而不是window.locationdocument.location

+0

我試圖這樣做,但它沒有工作...而確認框顯示正確,當我按下確定或取消什麼都沒有發生(保持在同一頁而不是重定向) – mike

+0

mike

+0

mike