سلام استاد
من برای انجام عمل حذف User ها میخوام از alert استفاده کنم و دیگه یک صفحه دیگه نسازم....
میخوام اطلاعات را پاس بدم به متدی که آماده حذف اون user هست ولی همه اش Null میفرسته...
چک کردم دیدم اصلا خودش id را نمی تونه بگیره که اصلا بفرسته...
میشه راهنمایی ام کنید.
سلام
سمت js دیباگ کنید و همه موارد را بررسی کنید تا مشکل پیدا بشه
سلام دوست عزیز
یک Alert بذارید اول چک کنید ببینید thisId مقدارش خالی هست یا پره، اگه خالی بود تگ لینک رو اینطوری مقداردهی کنید :
<a data-id='@item.UserId'>Delete</a>
و بعد توی رویداد کلیک دکمه اینطوری مقدارش رو توی اسکریپت بگیرید :
var thisId = $(this).data("id");
و درنهایت Ajax خودتون رو به اینصورت بنویسید :
$.ajax({
type: "POST",
dataType: "json",
url: '@Url.Action("ActionName", "ControllerName", new { Area = "AreaName" })',
data: thisId,
success: function (serverResponse) {
alert("Delete Success");
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus);
alert("Error: " + errorThrown);
}
});
پارامتر ورودی اکشن خودتون روهم اینطوری بنویسید :
public JsonResult Delete(int userId)
موفق باشید
نشد، این کد شما را هم بررسی کردم و گذاشتم مطابق با متغیرهام....
کد آماده ندارید؟!
دیگه کد آماده تر از این ؟
مطمئن بشید که توی فرمتون UserId مدلتون مقدار داره و توی اسکریپت هم یه Alert بزارید وقتی روی دکمه کلیک میکنید مقدار UserId رو مجددا چک کنید ببینید مقدار داره یا نه، اگه نقدار داره همون کدهایی که براتون نوشتم کار میکنن، نیازی نیست تبدیلش کنید به Model و ارسالش کنید به Controller ، شما برای حذف فقط به یه id نیاز دارید و کافیه فقط همون id رو بفرستید به کنترلر
اصلا عمل نمیکنه
کاملا هرچی شما گفتی انجام دادم...
روی دکمه حذف که میزنم اصلا هیچ اتفاقی نمی افته
روی متد ام در Account هم بریک پوینت گذاشتم ولی اصلا نرفت اونجا
یعنی اصلا ارسال نکرده
سمت js دیباگ کنید مشکل پیدا میشه دوست من
در دوره جاوا اسکریپت توضیح دادم
دوره جاوا اسکریپت ندیدم من استاد
ولی ی چیزایی بلدم...
دیباگ کردم و فهمیدم مشکل از ارسال نیست حتی مشکل اینه که ID را یا اون خطه نمی تونه بفرسته یا این نمی تونه بگیرتش که برای متد بفرسته....
دوست عزیز من ۲ بار جواب دادم و هر ۲ بار پرسیدم برزسی کنید ببینید thisId مقدار داره یا نه اما نه ببرسی کردید نه جوابی دادید ! بازم میگم توی رویداد کلیل بعد از گرفتن thisId یه Alert بزارید ببینید مقدار داره یا نه ؟؟؟
سلام
ممنون از شما آقای حمیدی
بله میفرسته....
در عکس های زیر مشاهده بفرمایید....
این دو عکس بالا مربوط به حذف یک دسته بندی با مدل کد های خودم که همونطور که میبینید id گرفته میشه و میرسه....
.
و این دوتای بالا هم برای حذف نقش ها می باشد که با کد شما انجام شده...
در هر دو میبینیم که Id دریافت میشود ولی یا کلا ارسال نمی شود یا 0 ارسال می شود.
اسم پارامتر ورودی رو توی اکشن تغییر بدید و بزارید id و بعد یه Route هم برای اکشن خودتون تعریف کنید احتمالا مشکل حل بشه
[HttpPost]
[Route("DeleteRole/{id}")]
public ActionResult DeleteRole(int id)
{
//
}
اگر باز هم مقداری که پاس داده میشه 0 بود data رو به این صورت بهش پاس بدید :
$.ajax({
type: "POST",
dataType: "json",
url: '@Url.Action("ActionName", "ControllerName", new { Area = "AreaName" })',
data: { id: thisId }
});
سلام
ممنون از کمک شما
ولی واقعا نمی دونم چرا بازم درست نمیشه!
اول متد را که شما گفتی تغییر بده دادم نشد
بعد این کد js را امتحان کردم بازم نشد
کلا هیچی ارسال نمیکنه!
یعنی متدم اونور هیچی ارسال نمیکنه حتی صفر
دریافت id اش اوکیه هاااا تو alert نشون میده ولی وقت میزنی که اوکی پاک بشه....
کلا هیچ اتفاقی نمی فته....
بریک پوینت گذاشتم ولی هیچی انگار نمی رود اونور
کلا سوال پرسیدن واسه حذف رو پاک کنید ببینید مشکل حل میشه ؟ شاید ایراد از کد Confirm شما باشه
پیشنهاد میکنم برای نمایش Confirm هم از SweetAlert استفاده کنید، هم جلوه قشنگ تری به سایتتون میده هم کاربردی تره
امتحان کردم....
نه نشد متاسفانه....
ارسال به متد درست شد ولی همچنان 0
ی چیز عجیب، وقتی تو Alert میزنم که id را نشون بده، کاملا اوکی است و نشون میده ولی بریک پوینتی که در متد گذاشتم اونجا که وایمیسته.... = 0 ااست بعد برمیگردم و مویس را میبرم روی ThisId با کمال تعجب میبینم که اونا هم 0 هستند !!!! جفت شان
من نمیدونم چرا عکس هایی که میذارید هیچکدوم کدها و کارهایی که من گفتم انجام بدید نیست ! آقا رضای عزیز لطفا کد Confirm و اون شرط رو بردار، اسم متغییر رو توی پارامتر ورودی اکشن و توی اسکریپت بزار id و توی Route هم بزار id همونطوری که توضیح دادم ! اون Authorize روهم واسه احتیاط فعلا کامنت کن
چون کارهایی که شما میگی را انجام میدم
همون 0 ی را که ارسال میکرد را هم دیگه ارسال نمیکنه آقای حمیدی
برای همین برمیگردونم رو حالت قبلی
هم rout را انجام دادم
هم id گذاشتم
عین به عین چیزی که گفتی
Confirm را کامنت کردم....
اصلا همون صفری را هم که ارسال میکرد دیگه نمی کنه
من Js بلد نیستم ولی کم و بیش میفهمم داره چیکار میکنه کد....
واقعا نمیدونم چرا کار نمیکنه.....
دوباره باید ی وقتی بزارم هعی امتحان کنم ببینم بالاخره کجا درست بشه...
در نهایت امیدوارم مجبور نشوم بیخیال این روش بشوم و برم صفحه بسازم برای حذف
آخه شما هیچ اروری ندارید ! فقط باید با دیباگ کردن مشکل رو حل کنید، شک نکنید یجای کار رو اشتباه رفتید
کنسول لاگ مرورگر رو چک کنید ببینید اونجا خطایی ندارید ؟
اگر میشد ریموت زد بهتر میشد مشکل رو بررسی کرد .. بهرحال پیشنهاد میکنم یه صفحه جدید و متد جدید درست کنید و یه سعی کنید یک مقدار رو بصورت استاتیک با Ajax به اکشن پاس بدید ببینید امکان پذیر هست یا خیر
اگر AnyDesk میاید که خوب....
این شماره منه: 09359755773
هماهنگ شویم شما زحمت بکشی ریموت بررسی کنید.
واقعا ممنون میشم اگر این لطف را در حق من بکنید....
امکان داره که یک فایلی می بایست اضافه میکردم به پروژه و نکردم و حالا اینطوری شده ؟!
من الان افزودن به سبد محصولم را هم به همین روش دیگه باید زد قاعدتا ولی هیچ اتفاقی نمی افته
بله ! باید Jquery رو توی صفحه داشته باشید
کنسول لاگ مرورگر رو چک کردید ؟
مشکلتون این بود که داشتید پروژه رو با Ctrl + F5 اجرا میکردید
پروژه رو بیلد و بصورت عادی اجرا کنید مشکلتون حل میشه
موفق باشید
باز هم بی نهایت ازتون ممنونم