Как показать сообщение, если есть дублированные значения в БД с помощью ajax в MVC
У меня есть форма, где я добавляю некоторые значения в БД с помощью AJAX, и я сделал всю логику, чтобы избежать добавления, если есть какое-то Дублированное значение, но я хочу показать простое сообщение ниже
id="txtTitle"
введите, что "такое число уже существует". До сих пор я пытался показать предупреждающее сообщение после нажатия кнопки, но это не работает. Может кто-нибудь сказать мне, что я здесь делаю не так?Что я уже пробовал:
Это мой контроллер:
[HttpPost] public JsonResult AddNewEvent(Event e) { try { using(EventsDBEntities db = new EventsDBEntities()) { List<Event> evts = db.Events.Where(x => x.Title == e.Title).ToList(); if(evts.Count > 0) { TempData["Message"] = "<script>alert('This order number already exists, please check it and try again');</script>"; } else { db.Events.Add(e); db.SaveChanges(); } } } catch(Exception) { } return new JsonResult { Data = e, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; }
Мое представление MVC :
<div class="modal modal-dialog-centered" id="AddEventCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLongTitle">Add new Event:</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body" style="width:auto"> <div id="dialog-edit" style="width:auto"></div> <div id="AddEvent"> <table style="width:500px;"> <tr> <td> <select id="colorChoose"> <option value="white"> ---choose--- </option> <option value="green"> Maintenance(46535..., 4683...) </option> <option value="yellow"> Field repair(46303..., 4681...) </option> <option value="grey"> Warranty(967..., 968...) </option> </select> <br /> <br /> </td> </tr> <tr> <td style="width:250px;"> <label>Order number :</label><br /> <input maxlength="15" style="width:200px;" type="text" id="txtTitle" /> // here must be message if Duplicate<input id="ifDuplicate" /> </td> <td style="width:250px;"> <label>Event Title :</label><br /> <input maxlength="20" style="width:200px;" type="text" id="txtDesc" /> </td> </tr> <tr> <td colspan="2"> <br /> <label>Full event description:</label> <br /> <textarea maxlength="500" style="height:100px;width:500px;resize:none;" id="txtFullDesc"></textarea> <br /> </td> </tr> <tr> <td style="width:250px;padding-right:7em;"> <label>Address :</label><br /> <textarea maxlength="100" style="height:100px;width:200px;resize:none;" id="txtAddress"></textarea> </td> <td style="width:250px;"> <label>Contact peson on site :</label><br /> <textarea maxlength="100" style="height:100px;width:200px;resize:none;" id="txtContact"></textarea> </td> </tr> <tr> <td style="width:200px;"> <br /> <label>Location title :</label> <br /> <input maxlength="15" style="width:200px;" type="text" id="txtLoc" /> <br /> <br /> <input style="width:200px;" type="hidden" id="colorAdd" /> </td> </tr> </table> </div> </div> <div class="modal-footer"> <button type="button" id="btnAdd" onclick="return Add();" class="btn btn-primary" data-dismiss="modal">Add new event</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> </div> </div> </div>
Язык JavaScript:
// This is for Add new Data function Add() { $.ajax({ type: "POST", url: "/Home/AddNewEvent", dataType: "JSON", data: { Title: $('#txtTitle').val(), Description: $('#txtDesc').val(), Location: $('#txtLoc').val(), color: $('#colorAdd').val(), fullDescription: $('#txtFullDesc').val(), Address: $('#txtAddress').val(), Contact: $('#txtContact').val() }, success: function () { $('#UpdatePanel').load(loadData()); var res = ""; $('#txtTitle').val(res), $('#txtDesc').val(res), $('#txtLoc').val(res), $('#colorAdd').val(res), $('#txtFullDesc').val(res), $('#txtAddress').val(res), $('#txtContact').val(res) }, error: function () { alert("Failed! Please try again."); } }); }