Как я могу получить casenumberstextbox заполняется при нажатии на кнопку getcasesbutton это?
Мне нужна помощь от общества. У меня есть CaseNumbersTextBox, который я хочу заполнить номером case/s при нажатии кнопки GetCasesButton.
Код, который у меня есть, взят из другого настольного приложения windows. Мое приложение-это веб-приложение.
Старый код использует ComboboxItem из RequestorComboBox. Вот что происходит в старом приложении. Пользователь выбирает имя из RequestorComboBox, а затем вводит номер судебного дела/ов в CaseNumbersTextBox. Затем пользователь нажимает на кнопку GetCasesButton. Приложение ищет номер дела, введенный из таблицы базы данных. Если номер обращения не найден, пользователю отображается всплывающее сообщение об ошибке.
Мне нужно изменить RequestorComboBox, чтобы использовать RequestorDropDownList.
Как мне это сделать?
Что я уже пробовал:
Вот код, в который мне нужно внести изменения, чтобы вместо RequestorComboBox я использовал RequestorDropDownList.
private async void GetCasesButton_Click(object sender, EventArgs e) { #region Required Field Validation if (CaseNumbersTextBox.Text.Length < 1) { MessageBox.Show("Casenumber textbox cannot be empty.", "Search Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ComboboxItem requestorItem = new ComboboxItem(); requestorItem = (ComboboxItem)RequestorComboBox.SelectedItem; ComboboxItem reasonItem = new ComboboxItem(); reasonItem = (ComboboxItem)ReasonComboBox.SelectedItem; if (requestorItem.Value < 1) { MessageBox.Show("Please select a Requestor.", "Search Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (reasonItem.Value < 1) { MessageBox.Show("Please select a Reason.", "Search Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } #endregion #region Parse case number entries string userEnteredCaseNumbers = CaseNumbersTextBox.Text; userEnteredCaseNumbers = userEnteredCaseNumbers.Replace("\r", ","); userEnteredCaseNumbers = userEnteredCaseNumbers.Replace("\n", ","); while (userEnteredCaseNumbers.Contains(",,")) userEnteredCaseNumbers = userEnteredCaseNumbers.Replace(",,", ","); List<string> userEnteredCaseNumberList = new List<string>(); userEnteredCaseNumberList = userEnteredCaseNumbers.Split(',').Where(x => x.Length > 0).ToList(); userEnteredCaseNumberList = userEnteredCaseNumberList.Select(s => s.Trim()).ToList(); #endregion try { #region Get Batch Number int newBatchNumber = await CandidateCaseController.GetNextBatchNumber(); #endregion #region Insert entered case numbers in database foreach (string caseNumber in userEnteredCaseNumberList) { EditCandidateCaseModel newCandidate = new EditCandidateCaseModel(); newCandidate.CaseNbr = caseNumber; newCandidate.RequestorInfoID = requestorItem.Value; newCandidate.ReasonID = reasonItem.Value; newCandidate.BatchNumber = newBatchNumber; newCandidate.EntryStaffUserName = this._loggedInUserName; await CandidateCaseController.PostCandidate(newCandidate); } #endregion #region Get everything in Candidate table now that the new search has been entered List<GetCandidateCaseModel> candidateList = await CandidateCaseController.GetAllCandidates(); candidateList = candidateList.Where(x => x.BatchNumber == newBatchNumber).ToList(); string candidateCasesString = string.Empty; Regex rgxDash = new Regex("[^a-zA-Z0-9 ,]"); candidateCasesString = string.Join(",", candidateList.Select(p => p.CaseNbr.ToString())); candidateCasesString = rgxDash.Replace(candidateCasesString, "").ToString(); #endregion #region Get info on cases //candidateCasesString List<string> smallEnoughStrings = new List<string>(); while (candidateCasesString.Length > 0) { int sendLength = 200; bool isLastString = false; if (candidateCasesString.Length < sendLength) { sendLength = candidateCasesString.Length; isLastString = true; } string smallChunk = candidateCasesString.Substring(0, sendLength); if (!isLastString) { int lastComma = smallChunk.LastIndexOf(','); smallChunk = smallChunk.Substring(0, lastComma); candidateCasesString = candidateCasesString.Remove(0, lastComma); if (candidateCasesString[0] == ',') candidateCasesString = candidateCasesString.Remove(0, 1); } else candidateCasesString = candidateCasesString.Remove(0, sendLength); smallEnoughStrings.Add(smallChunk); } List<AcceptCaseNumbersModel> mncisDetailList = new List<AcceptCaseNumbersModel>(); List<AcceptCaseNumbersModel> smallEnoughMncisDetailList = new List<AcceptCaseNumbersModel>(); foreach (string smallEnoughString in smallEnoughStrings) { smallEnoughMncisDetailList = await FTACaseReset.Controllers.JusticeController.GetAllAcceptCaseNumbers(smallEnoughString); mncisDetailList.AddRange(smallEnoughMncisDetailList); } #endregion #region Parse data from MNCIS and add it to Candidate table //use candidateList to pull records out of mncisDetailList then update CandidateCase table foreach (GetCandidateCaseModel candidateCase in candidateList) { string caseNbrWODash = rgxDash.Replace(candidateCase.CaseNbr, "").ToString(); AcceptCaseNumbersModel mncisDetail = mncisDetailList.Where(x => x.CaseNbrSrch.ToLower() == caseNbrWODash.ToLower()).FirstOrDefault(); if (mncisDetail != null) { //if it found a record then edit Candidate details with case data candidateCase.FirstPenalty = mncisDetail.FirstPenaltyFlag == 1 ? true : false; candidateCase.SecondPenalty = mncisDetail.SecondPenaltyFlag == 1 ? true : false; if (candidateCase.CaseNbr.ToLower().Contains("vb") == false) candidateCase.RejectionReason = await FTACaseReset.Controllers.RejectionController.GetRejectionByDescription(Enumerations.Rejections.No_Records_To_Reset.ToString().Replace("_", " ")); else if (candidateCase.FirstPenalty == false && candidateCase.SecondPenalty == false) candidateCase.RejectionReason = await FTACaseReset.Controllers.RejectionController.GetRejectionByDescription(Enumerations.Rejections.No_Records_To_Reset.ToString().Replace("_", " ")); if (candidateCase.RejectionReason == null) candidateCase.RejectionReason = await FTACaseReset.Controllers.RejectionController.GetRejectionByDescription(Enumerations.Rejections.Valid.ToString()); candidateCase.Title = mncisDetail.Style; await FTACaseReset.Controllers.CandidateCaseController.PutCandidate(candidateCase); } else { //if it didn't find a record then change the rejection code on the Candidate candidateCase.RejectionReason = await FTACaseReset.Controllers.RejectionController.GetRejectionByDescription(Enumerations.Rejections.Invalid_Case_Number.ToString().Replace("_", " ")); await FTACaseReset.Controllers.CandidateCaseController.PutCandidate(candidateCase); } } #endregion this.ClearForm(); #region Populate Results ValidTabPage.Controls.Clear(); InvalidTabPage.Controls.Clear(); DiscardedTabPage.Controls.Clear(); ValidTabPage.Text = "Valid Cases"; InvalidTabPage.Text = "Invalid Cases"; DiscardedTabPage.Text = "Discarded Cases"; #region Repopulate Batch ComboBox this.PopulateBatchComboBox(); #endregion List<GetCandidateCaseModel> thisBatchCasesList = new List<GetCandidateCaseModel>(); thisBatchCasesList = await Controllers.CandidateCaseController.GetCandidateByBatchID(newBatchNumber); if (thisBatchCasesList.Count > 0) this.EmailButton.Enabled = true; else { this.EmailButton.Enabled = false; return; } this.PopulateTabs(thisBatchCasesList, true); this.GetCasesPanel.Visible = false; this.UpdateExistingPanel.Visible = true; ComboboxItem batchItem = new ComboboxItem(thisBatchCasesList[0].BatchNumber); SelectBatch(batchItem); ComboboxItem requestorUpdateItem = new ComboboxItem(thisBatchCasesList[0].RequestorInfo); SelectRequestorUpdate(requestorUpdateItem); ComboboxItem reasonUpdateItem = new ComboboxItem(thisBatchCasesList[0].Reason); SelectReasonUpdate(reasonUpdateItem); #endregion } catch (Exception ex) { string errorMsg = string.Format("An error has occured in {0}. \nException:\n{1}", "GetCasesButton_Click()", ex.Message); ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + errorMsg + "');", true); } }
Richard MacCutchan
Вам нужен полный редизайн, так как выпадающий список будет отображаться на веб-странице, а не в коде сервера.
Member 11403304
Привет, Ричард. Я действительно не понимаю, что вы подразумеваете под полным редизайном. Не могли бы вы объяснить почему? Я новичок в веб-разработке.
Christian Graus
Переход с рабочего стола на веб-сайт-это полная переписка. Это не намного лучше, чем получить спецификацию и написать веб-сайт. Веб работает совершенно по-другому. Если вы этого не знаете, вам не следует этого делать.
Вы должны пометить свой вопрос с помощью технологий, которые вы используете. ASP.NET это ужасно и устарело на десятилетие. Некоторые люди все еще используют Microsoft ASP.NET в MVC, но каких-либо серьезных веб-разработчиков на сегодняшний день включает в себя библиотеки JavaScript, такие как угловые или реагировать ИМО