Rawan Mansourr Ответов: 1

Отправить функцию java script перед завершением кода на языке C#


У меня есть эта функция, чтобы показать всплывающее сообщение в виде диалогового окна, когда пользователь нажимает кнопку ОК , он обновит еще одно сообщение, проблема в том, что функция дает мне не обновлено, прежде чем я нажму кнопку ОК или отменить , как я могу решить эту проблему?

Что я уже пробовал:

public void save_date(string Name, string Date,System.Web.UI.WebControls.Label lableMessage)
   {
           connection.Open();
           SqlCommand cmdselect = new SqlCommand("SELECT COUNT(*) FROM Exam WHERE ExamName='"+Name+"' and CourseNum='" + course_number + "'and Semster='"+semester+"'", connection);
           int num = (int)cmdselect.ExecuteScalar();
           if (num > 0 )
           {
               ScriptManager.RegisterStartupScript(this, typeof(string), "Submit", "funCheck('The Date is Already exist .Do You want to update it?');", true);
               //DialogResult Dialog = MessageBox.Show(" The Date is Already exist .Do You want to update it?", Name, MessageBoxButtons.YesNo);
               //if (Dialog == DialogResult.Yes)
               if (HiddenField1.Value == "1")
               {
                   SqlCommand cmdUpdate = new SqlCommand("UPDATE Exam SET Date='" + Date + "',Semster='"+semester+"'WHERE ExamName='"+Name+"'and CourseNum='" + course_number + "'", connection);
                   cmdUpdate.ExecuteNonQuery();
                   lableMessage.Text="Date Updated Successfully";
               }//end if
               else
               {
                   lableMessage.Text="Not Updated";
                   connection.Close();
                   Load_Items();
               }//end else


           }
           else
           {
               SqlCommand cmd = new SqlCommand("INSERT INTO Exam(CourseNum,Semster,ExamName,Date) VALUES ('" + course_number + "','"+semester+"','"+Name+"' ,'"+Date + "')", connection);
               cmd.ExecuteNonQuery();
               lableMessage.Text="Date Saved Successfully";
           }
           connection.Close();


   }//save date


и это код Java-скрипта :



script  type="text/javascript" >
        function funCheck(msg) {
            var flag = confirm(msg);
            var hdnfld = document.getElementById('<%= HiddenField1.ClientID %>');
            hdnfld.value = flag ? '1' : '0';
            
        }

ZurdoDev

В чем именно заключается Ваш вопрос? Сначала вы должны понять, что весь ваш код c# будет выполнен, а затем отправлен обратно клиенту. Вы не можете остановиться на середине и вернуться к клиенту, а затем вернуться к c#.

Rawan Mansourr

Я хочу каким-то образом дать пользователю возможность задать вопрос " да " или " нет " в виде диалогового окна результатов

ZurdoDev

Тогда вам нужно сначала использовать JavaScript. Посмотрите на вызов jquery. ajax (). В основном вы звоните в веб-сервис, чтобы проверить наличие каких-либо проблем. Если их нет, то в JavaScript вы можете отправить форму.

Rawan Mansourr

Пожалуйста, если вы можете , не могли бы вы сказать мне, как преобразовать эти функции, которые я разместил в JQuery?

ZurdoDev

Просто google jQuery ajax примеры. Вам понадобится один метод c#, который выполняет вашу проверку. Вы назовете это из jquery.

Rawan Mansourr

хорошо, я так и сделаю, спасибо

ZurdoDev

Я посмотрел на ссылку, приведенную в решении 1, и там есть хорошие примеры.

1 Ответов

Рейтинг:
4

F-ES Sitecore

Подробно описано несколько способов решения этой проблемы здесь Вероятно, вам придется разделить поток кода на два этапа, так что это не тривиальная проблема.


Rawan Mansourr

Но это очень тяжелый ответ , я не могу сделать это в своем веб-приложении, которое я закончу через 2 дня!!

Karthik_Mahalingam

5