我正在调用一个 javascript 函数以在更新面板内的按钮单击事件中返回来自用户的是、否值。我想根据用户操作(是/否)调用某些服务器端功能。我的javascript代码如下
function Confirm() {
var confirm_value = document.createElement("INPUT");
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm("Do you want to save data?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
document.forms[0].appendChild(confirm_value);
}
我在我的服务器端按钮单击中调用它,如下所示。
if ((Convert.ToInt32(_dsLeaveDetails.Tables[0].Rows[0][0]) == 1)
{
ShowAlert("Leave is already marked for this date");
return;
}
else if ((Convert.ToInt32(_dsAttendanceDetails.Tables[0].Rows[0][0]) >= 1))
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "Confirm();", true);
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == "Yes")
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('You clicked YES!');", true);
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('You clicked YES!');", true);
}
return;
}
问题是,仅在代码完全执行后才会显示弹出窗口,因此无法进一步处理用户操作(是/否)。我也不能在 clientclick 事件上调用 javascript 函数,因为我不需要弹出窗口。只有在检查数据集 dsAttendanceDetails 之后,我才需要弹出窗口。请帮忙。