使用Javascript if / then / else进入ClientScript函数

时间:2012-11-16 07:40:35

标签: asp.net javascript-events javascript

我对java Script不太熟悉,因此我需要你的帮助和建议!!单击时,我的asp按钮中有以下代码。当显示确认框时,用户有两个选择,要么选择确定,要么取消。以下代码适用于两种情况:OK或Cancel。

 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);
    }

但是,我想要做的是在ClientScript函数中使用javascript执行if / then / else语句,我不知道它的正确语法。比如我正在尝试做什么

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 个答案:

答案 0 :(得分: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';

<强>更新

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

另请注意,您应该使用window.location而不是document.location