PDA

View Full Version : خطای عدم ثبت داده



leilast
جمعه 10 شهریور 1396, 09:54 صبح
سلام
من برای insert داده اول از فرم خود دات نت استفاده کردم و چند کاربر رو در دیتابیس ذخیره کردم اما بعد استایلش رو عوض کردم و فرم رو بصورت ایجکس تبدیل کردم.
ولی نمی دونم چرا در کنترلر اکشن add اجرا نمیشه؟
این قسمت کنترلر هست


public ActionResult Enrollment()
{
return View();
}
[HttpPost]
public ActionResult Enrollment(User user)
{
UserRepository BlUser = new UserRepository();
if (ModelState.IsValid)
{
if (BlUser.Add(user))
{
return JavaScript("alert('ثبت شد ');");
}
else
{
return JavaScript("alert('ثبت نشد');");
}
}
else
{
return JavaScript("alert("" + ModelState.GetErrors() + "");");
}


}





مرتب پیغام ثبت نشد رو نشون میده. در صورتیکه قبلا با همین کنترلر و فرم خود دات نت اکشن add رو کامل اجرا میکرد.


این هم تابع add درrepository

public bool Add(MyTest.Models.DomainModels.User entity, bool AutoSave = true)
{
try
{
db.Users.Add(entity);
if (AutoSave)


return Convert.ToBoolean(db.SaveChanges());
else
return false;




}
catch
{
return false;
}
}



اگه لازم هست کد ویو رو هم بذارم .
ممنون

Moien Tajik
جمعه 10 شهریور 1396, 10:16 صبح
کدتون رو دیباگ کنید مرحله به مرحله مقادیر رو چک کنید درست باشن ، نمیشه برای همچین موردی نظری داد چون دلیل های زیادی میتونه داشته باشه .
کد رو داخل Try Catch بزارید ببینید مشکل از کجاس .

leilast
چهارشنبه 15 شهریور 1396, 13:54 عصر
من چند بار امتحان کردم .
بار اول که خود mvc برام فرم میسازه insert انجام میشه . خب این یعنی کنترلر درست کار میکنه و تابع add هم مشکلی نداره .
بلافاصله که به فرمم استایل (مثلا یک کلاس یه فرمم میدم) دیگه insert انجام نمیشه و خطا هم مربوط به انجام add هست. ایراد مربوط به خط ۱۱ هست. (پس ایراد باید از ویو باشه)
اگر با ajax اسکریپت بنویسم مشکل ممکنه حل بشه؟
جالبه فقط برای insert این مشکل هست. برای update و delete و نمایش list مشکلی وجود نداره.

mr.sirwan
چهارشنبه 15 شهریور 1396, 22:53 عصر
با سلام، کد ویو و همچنین ساختار جدول user رو هم قرار بدین، با یه استایل اضافه کردن به فرم اخلالی در عملکرد درج صورت نمیگیره، احتمالا داده تکراری یا null وارد جدول user میکنین

leilast
پنج شنبه 16 شهریور 1396, 19:58 عصر
اعصابم خورد شد کل ویو رو پاک کردم. حالا که شما جواب دادین دوباره میسازم میذارم اینجا حتما.