Asp.net C# 在插入记录前用 JS 确认对话框检查条件为什么不触发?

Asp.net C# check conditions with JS confirm dialog before insert record not fire why?

我有几个用于用户输入的文本框和用于保存记录的按钮。在最终将记录插入数据库之前,在 C# 按钮单击操作中,我想建议用户使用带有确认对话框的 javascript 函数填充一些重要的文本框。如果用户选择是,代码应该中断并聚焦文本框。如果没有,代码应该继续并插入记录。那是我的目标。 但是,即使条件为真,JS 函数也不会启动。只有在 C# JS 调用结束时有 si return; 时,JS 函数才会启动。这是我的代码:

    protected void savenew_Click(object sender, EventArgs e)
        {            if (string.IsNullOrEmpty(arr.Text)) { ScriptManager.RegisterStartupScript(this, GetType(), "alertMessage", "alert('Missing arr..');", true); arr.Focus(); return; }


// HERE IS PROBLEM: 

            if (string.IsNullOrEmpty(telnr.Text))
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "corectyesno()", true);  return;
            }

  try
            {

                SqlCommand MyCommand = new SqlCommand( etc...



//and JS function:
         function corectyesno()
            {
                if (confirm('Do you want to proceed ?')) {
                    return true;
                }
                else {
                    return false;
                }
            }

我的语言不是英语,所以请原谅我的语法错误。接下来,编程是我的爱好所以...感谢所有可以帮助我并提出更好方法的人。

如果您想继续在服务器端检查此逻辑,那么我认为最简单的方法是仅在不满足条件时才执行您的 SQL 逻辑。也许像这样简单:

if (string.IsNullOrEmpty(telnr.Text))
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "corectyesno()", true);  return;
}
else
{
    try
    {
        // your SQL code...
    }
    // etc.
}

这几乎和你的逻辑一样,但是 else 表示只有 if 条件为 时才应执行 SQL 代码没见过面。