我对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);
任何建议都将不胜感激!
答案 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。