Javascript confirm messagebox не запускает событие gridview onrowdeleting при нажатии кнопки ok
Я использую представление сетки для редактирования и удаления учетной записи Пользователя в asp.net наличие базы данных SQL server. Я сделал обновление записи в базе данных и удаление, а также, но я требую, чтобы показать сообщение подтверждения перед удалением записи в базу данных.
Для этого я использовал событие gridview_rowupdating и событие gridview_rowdeleting. Отображается окно подтверждения сообщения, но когда я нажимаю кнопку ОК в окне подтверждения сообщения, это не требуется для запуска события gridview_rowdeleting. Я просто думаю, что он не вызывает событие, поэтому я инициализировал событие onclientclick для кнопки asp, чтобы вызвать confirm messagebox, и он получает вывод, но когда я нажимаю кнопку OK, ничего не срабатывает.
Я поделюсь кодом пожалуйста кто нибудь объяснит мне ситуацию чтобы справиться с этим делом
Что я уже пробовал:
Кнопка ASP:
<asp:Button ID="btnDelete" runat="server" Text="Delete" CssClass="btn btn-link text-center" ToolTip="Delete User Details" CommandName="Delete" UseSubmitBehavior="false" CausesValidation="false" OnClientClick="return ConfirmDeletion();" OnClick="btnDelete_Click" />
Язык JavaScript:
function ConfirmDeletion() { debugger; var confirm_value = document.createElement("INPUT"); confirm_value.type = "hidden"; confirm_value.name = "confirm_value"; if (confirm("Are you sure you want to delete the record?") == true) confirm_value = "Yes"; else confirm_value = "No"; }
Удалить код кнопки сзади для образца:
protected void btnDelete_Click(object sender, EventArgs e) { string confirmValue = Request.Form["confirm_value"]; if (confirmValue == "Yes") { this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked YES!')", true); } else { this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked NO!')", true); } }
Member 8583441
Я нашел решение и теперь оно работает
F-ES Sitecore
Одна вещь, которую вы не делаете (возможно, их будет больше), - это возврат чего-либо из вашей функции ConfirmDeletion. Как страница узнает, говорит ли функция продолжить или нет? Вам нужно вернуть true или false
if (confirm("вы уверены, что хотите удалить запись?") == true)
{
confirm_value = "да";
вернуть true;
}
еще
{
confirm_value = "нет";
возвращать false;
}