سلام خدمت دوستان، و اساتید ITPRO، من میخوام با استفاده از AJAX یک فرم ساده رو به کنترلر ارسال کنم، برای این کار داخل View کد های زیر نوشتم:
@using (Html.BeginForm("SubmitTotalReserve", "HotelSearch", new { area = "Hotels", Id = item.Id }, FormMethod.Post, new { enctype = "multipart/form-data", @class = "form-horizontal row-border", id = item.Id })) { <label class="dis-iblock">تعداد اتاق</label> <select class="form-control" name="numberRoom" id="RoomNumber"> @for (int i = 0; i < 11; i++) { <option name="numberRoom" class="RNumber" value=@i>@i</option> } </select> }
همچنین داخل فایل JS هم کدهای زیر ایجاد کردم:
$("#RoomNumber").on('change', function (event) { debugger; var form = $(event.target).parents('form'); var url = form.attr('action'); form.submit(function() { $.ajax({ type: 'POST', url: url, data: $(this).serialize(), dataType: 'json', success: function (result) { $(".reserv-box").html(result); } }); }); });
داخل Controller هم کدهای زیر ایجاد کردم:
[HttpPost] public ActionResult SubmitTotalReserve(int numberRoom,long id) { Room dbenterty = Dbcontex.Rooms.Find(id); if (Request.IsAjaxRequest()) { dbenterty.NumberReserved = numberRoom; Dbcontex.SaveChanges(); TempData["numberRoom"] = numberRoom; return RedirectToAction("ShowTotalReserve", "HotelSearch", new {area = "Hotels"}); } else { return RedirectToAction("HotelDetails", "HotelDetails", new {Id =dbenterty.Hotel.Id}); } }
زمانی که برنامه رو دیباگ میکنم، داخل فایل JS به من آدرس Action مورد نظر بر میگردونه، اما بعد از اجرای کد، هیچ عکس العملی نشون نمیده و انگار اتفاق خاصی نیفتاده!
یعنی هیچ اکشنی، اجرا نمیشه!
نمیدونم مشکل کجاس.
ممنون.
این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.
دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود