ASP.NET C#用JS确认对话框插入记录前无法检查条件的原因为何?

时间:2019-01-08 13:17:16

标签: javascript c# asp.net webforms confirm

我有几个文本框供用户输入,还有用于保存记录的按钮。在最终将记录插入数据库之前,我想用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;
                }
            }

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

1 个答案:

答案 0 :(得分:1)

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

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

几乎与您的逻辑相同,但是else表示只有在满足{em> em 的if条件的情况下才应执行SQL代码。 / p>