Asp.net C # проверить условия с JS подтвердить диалог, прежде чем вставить запись не срабатывает, почему? - PullRequest
0 голосов
/ 08 января 2019

У меня есть несколько текстовых полей для ввода пользователя и кнопка для сохранения записи. Прежде чем наконец вставить записи в БД, в C # действие нажатия кнопки я хотел бы предложить пользователю заполнить некоторые важные текстовые поля, используя функцию javascript с диалогом подтверждения. Если пользователь выбирает «да», код должен прерваться и сфокусироваться на текстовом поле. Если нет, код следует продолжить и вставить запись. Это моя цель. Но функция JS не запускается, даже если условие истинно. Функция JS запускается, только если есть si return; в конце вызова C # 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 голосов
/ 08 января 2019

Если вы хотите продолжить проверять эту логику на стороне сервера, то я думаю, что самый простой подход - это выполнять вашу логику SQL, только если условие не выполняется. Возможно, что-то так просто, как:

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

Это почти то же самое, что и ваша логика, но else указывает на то, что код SQL должен выполняться, только если условие if равно , а не выполнено.

...