Как проверить выпадающий список и обновить базу данных одним щелчком мыши внутри элемента управления gridview в ASP .NET?
I have one GridView inside an update panel. Last column of the GridView has a LinkButton (<pre lang="HTML">ID="lnkUpdate"). Эта кнопка LinkButton используется для проверки нескольких выпадающих списков в других Столбцах GridView с помощью функции JavaScript (Validate(lnkUpdate)). Я хочу обновить данные в базе данных с помощью этой кнопки LinkButton. Я могу успешно обновить данные в базе данных, если использую OnClick= "btnSave_Data_Click", однако мне нужно удалить OnClientClick= " return Validate (this)".
Могут ли эксперты на форуме помочь мне найти способ сохранить оба этих события? Я имею в виду, что хочу иметь возможность обновлять базу данных, а также проверять выпадающий список.
Заранее спасибо
Что я уже пробовал:
Код для проверки (lnkUpdate) :
<script type="text/javascript"> function Validate(lnkUpdate) { var txtIncident, ddlStatus, ddlReason; var row = lnkUpdate.parentNode.parentNode; var controls = row.getElementsByTagName("*"); for (var i = 0; i < controls.length; i++) { if (controls[i].id.indexOf("txtIncident") != -1) { txtIncident = controls[i]; } if (controls[i].id.indexOf("ddlStatus") != -1) { ddlStatus = controls[i]; } if (controls[i].id.indexOf("ddlReason") != -1) { ddlReason = controls[i]; } } var message = ""; if (ddlStatus.value == "") { message += "Please select Status"; } else if ((ddlStatus.value == "Make") && (ddlReason.value == "")) { message += "Please select Reason"; } else if ((ddlStatus.value == "Miss") && (ddlReason.value == "")) { message += "Please select Reason"; } else if ( ((ddlStatus.value == "Miss") && (ddlReason.value == "Data Availablility: Customer") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Data Availablility: Dell Other") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Data Availablility: Dell Reporting Team") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Data Availablility: Vendor") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Data Integrity: Customer") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Data Integrity: Dell Other") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Data Integrity: Dell Reporting Team") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Data Integrity: Vendor") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Duplicate Instance") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "External Factors") && (txtIncident.value == "")) || ((ddlStatus.value == "Miss") && (ddlReason.value == "Report Modifications: Customer") && (txtIncident.value == "")) ) { message += "Please enter Incident#"; } else { } //Display error message. if (message != "") { alert(message); return false; } return true; } </script>
а код для btnSave_Data_Click таков:
Защищенный суб btnSave_Data_Click (отправитель как объект, e Как EventArgs) обрабатывает btnSave_Data.Щелчок
Дим УМК как sqlcommand объект = новый sqlcommand, который
УМК.CommandType = CommandType.Хранимая процедура
УМК.Свойства commandtext = "sp_Insrt_Updt_Rcrd"
УМК.Параметры.AddWithValue ("@Report_Date", Сегодня())
УМК.Параметры.AddWithValue ("@Name", "")
УМК.Параметры.AddWithValue ("@Report_Time", "")
УМК.Параметры.AddWithValue ("@Type", "")
УМК.Параметры.AddWithValue ("@Усилие", "")
УМК.Параметры.AddWithValue ("@Account", "")
УМК.Параметры.AddWithValue ("@Method", "")
УМК.Параметры.AddWithValue ("@Format", "")
УМК.Параметры.AddWithValue ("@Status", "")
УМК.Параметры.AddWithValue ("@Reason", "")
УМК.Параметры.AddWithValue ("@Инцидент", "")
УМК.Параметры.AddWithValue ("@Action", "")
УМК.Параметры.AddWithValue ("@Обозначение", "")
УМК.Параметры.AddWithValue ("@Location", "")
УМК.Параметры.AddWithValue ("@Support_Region", "")
УМК.Параметры.AddWithValue ("@Badge", "")
УМК.Параметры.AddWithValue ("@DateTime_IST_India", "")
УМК.Параметры.AddWithValue ("@DateTime_CST_Round_Rock", "")
УМК.Параметры.AddWithValue ("@DateTime_MST_Cyberjaya", "")
УМК.Параметры.AddWithValue ("@DateTime_GMT_Casablanca", "")
УМК.Параметры.AddWithValue ("@Week_Working_Day_Number", "")
УМК.Параметры.AddWithValue ("@Month_Working_Day_Number", "")
УМК.Параметры.AddWithValue ("@NT_Login", "")
УМК.Параметры.AddWithValue ("@Report_UID", Today() & " Finally_03")
Dim dt As DataTable = новый DataTable
Dim con As SqlConnection = New SqlConnection(strConnString)
Dim sda As SqlDataAdapter = новый SqlDataAdapter
УМК.Подключение = кон
против.Открыть()
АСД.Команды selectcommand = ЦМД
ПДД.Заполнить(ДТ)
Конец Подводной Лодки
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Вы уверены, что событие на стороне клиента возвращает true?
Vincent Maverick Durano
Ваше серверное событие "btnSave_Data_Click" должно быть запущено, как только ваша проверка JavaScript вернет true.
Karthik_Mahalingam
Всегда использовать Ответить кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.
ZohaibRazaTheDProgrammer
@Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ) когда я нажимаю кнопку lnkupdate, я вижу ошибки проверки, когда в выпадающем списке выбираются неправильные значения.
ZohaibRazaTheDProgrammer
@Vincent Maverick Durano lnkUpdate находится внутри gridview, это не независимый серверный элемент управления.
Vincent Maverick Durano
Вы хотите сказать,что lnkUpdate и btnSave были разными?
ZohaibRazaTheDProgrammer
да, они разные btnSave_Data_Click (отправитель как объект, e Как EventArgs) вызывается для выполнения задачи
Vincent Maverick Durano
Вы можете сделать то же самое в своем событии щелчка lnkUpdate. Пожалуйста, ознакомьтесь с решением, которое я вам предоставил.
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Я думал, что btnSave_Data_Click вызывается при нажатии кнопки LinkButton. В любом случае, почему ты не можешь этого сделать? Таким образом, после того как вы закончите проверку и она вернет true, щелчок сервера будет запущен автоматически.
ZohaibRazaTheDProgrammer
не могли бы вы помочь мне объединить эти два блока кода? они работают независимо друг от друга, но я не могу написать функцию/код, который будет выполнять ту же задачу в одном блоке кода.
Vincent Maverick Durano
Вам просто нужно скопировать логику обновления из события btnSave в событие lnkUpdate. Код, который я предоставил, должен быть достаточно простым для выполнения.