nar86 Ответов: 1

Вызов функции javascript в коде за C# не работает


Код выглядит следующим образом

Отправить код кнопки следующим образом

string slip_No = string.Empty;
            foreach (GridViewRow row in grdRpt.Rows)
                        {
            CheckBox cb = (CheckBox)row.FindControl("chkselecdata");
                            if (cb.Checked == true)
                            {
           int key = Convert.ToInt32(grdRpt.DataKeys[row.RowIndex].Value);
                           slip_No = row.Cells[2].Text;
                            }
                        }
                         else
                            {
                                slip_No = row.Cells[2].Text;
                                slipnoList.Add(slip_No);
                            }
                  if (slipnoList.Contains(dist_requests.FirstOrDefault().SLIP_NO))
                            {
                                string confirmValue = Request.Form["confirm_value"];
                                int len = confirmValue.Split(',').Length - 1;
                                confirmValue = confirmValue.Split(',')[len];
                                if (confirmValue == "Yes")
                                {
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "Confirm()", true);
                                }
                             if (confirmValue == "No")
                                {
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "Confirm()", true);
                                return;

                                                        }  


Javascript code as follows

  function Confirm() {
       var confirm_value = document.createElement("INPUT");
       confirm_value.type = "hidden";
       confirm_value.name = "confirm_value";
       if (confirm("There are some more items with same slip number is there. Do you want to proceeds?")) {
           confirm_value.value = "Yes";
       } else {
           confirm_value.value = "No";
       }
     document.forms[0].appendChild(confirm_value);

я вызываю приведенную выше функцию java script в приведенном выше коде, ниже строки следующим образом

Элемента управления scriptmanager.RegisterStartupScript(это, это.GetType(), "alert", "Confirm()", true);
В сетке следующим образом

Slipno Slipdate Местоположение Участка Зоны

2365 28.05.2018 Брюнетке Fereke 1001
2365 28.05.2018 Ферекес Сорди 1002

я написал выше код в кнопке submit , если в gridview slip no существует более одного раза, это означает, что я хочу показать сообщение пользователю.

для отображения сообщения пользователю я использую функцию javascript в коде позади c#.

Но когда я нажимаю кнопку Отправить, предупреждающее сообщение функции java script не отображается.

в чем ошибка в моем приведенном ниже коде

Элемента управления scriptmanager.RegisterStartupScript(это, это.GetType(), "alert", "Confirm()", true);

какие изменения я должен внести в свой вышеприведенный код?

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

см. выше..

Richard MacCutchan

Это сделало бы ваш вопрос более ясным, если бы вы разместили детали в верхней части, а только код (между тегами <pre>) В разделе "Что я пробовал", а не публиковали все неформатированные дважды.

Richard Deeming

Репост
Теперь это ваше ТРЕТИЙ копировать (по крайней мере) точно такой же вопрос:
https://www.codeproject.com/Questions/1264514/Alert-message-to-the-user-ok-or-cancel-using-Cshar[^]
https://www.codeproject.com/Questions/1264548/How-to-get-return-true-or-false-from-javascript-to[^]

Вас уже предупредили, чтобы вы не перепечатывали этот вопрос!

1 Ответов

Рейтинг:
2

Dave Kreskowiak

В этом нет никакого смысла. Похоже, что вы говорите, что приведенный выше код C# должен вызывать метод javascript на стороне браузера. Это никогда не сработает. Это не то, как работают веб-серверы.

Вы хоть представляете, что делает RegisterStartUpScript? Намек, это в названии!

Это не вызывает метод javascript на клиенте. Он записывает указанный вами код в HTML-код страницы, которую вы отправляете клиенту. НИЧЕГО БОЛЬШЕ.

Ваш код, который проверяет наличие дубликатов, не должен быть написан на C# на стороне сервера. Он должен быть написан на javascript на стороне клиента.