با سلام و خسته نباشی
من با استفاده از این آموزش DropDownList تودرتو در MVC یه صفحه ثبت محصول درست کردم ولی ارور زیر را میده ولی اطلاعات داخل جدول ذخیره میشه.
An exception of type 'System.InvalidOperationException' occurred in System.Web.Mvc.dll but was not handled in user code
Additional information: There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'Brands'.
این هم کد داخل کنترل یوزرم لطفا راهنمایی کنید .
مشکل را چیدا کردم
کدد اکشن Get را نیز قرار بدید تتا براتون اصلاح کنم
ممنون
به شکل زیر بنویسید ببینید مشکل برطرف میشه
[HttpPost] public ActionResult InsertProduct(Table_Device dev,int Brands,int Models,int ColorID,int StorageID) { if (Session["Username"] == null) return RedirectToAction("Index", "User"); if (!ModelState.IsValid) { ViewBag.Message = "پرکردن تمامی فیلدها الزامیست"; ViewBag.Style = "color:red"; ViewBag.Brands = new SelectList(db.Table_Brand, "BrandID", "Brand"); ViewBag.Models = new SelectList(new List<Table_ModelBrand>(), "ModelID", "Model"); return View(); } string User = Session["Username"].ToString(); dev.UserID = db.Table_Users.Where(a => a.Username.Equals(User)).SingleOrDefault().UserID; dev.DeviceBrandID = Brands; dev.DeviceModelID = Models; dev.DeviceColorID = ColorID; dev.DeviceStorageID = StorageID; dev.DeleteDevice = 0; dev.PaidInsurance = 0; db.Table_Device.Add(dev); if (Convert.ToBoolean(db.SaveChanges())) { ViewBag.Message = "با موفقیت ثبت شد"; ViewBag.Style = "color:green"; ViewBag.Brands = new SelectList(db.Table_Brand, "BrandID", "Brand"); ViewBag.Models = new SelectList(new List<Table_ModelBrand>(), "ModelID", "Model"); return View(); } else { ViewBag.Message = "متاسفانه ارسال نشد"; ViewBag.Style = "color:red"; ViewBag.Brands = new SelectList(db.Table_Brand, "BrandID", "Brand"); ViewBag.Models = new SelectList(new List<Table_ModelBrand>(), "ModelID", "Model"); return View(); } }
بله ارورم رفع شد . با تشکر فراوان
فقط چطور میشه بعد از ثبت , فرم خالی بشه ؟
متونید کاربر را به همین صفحه Redirec کنید
از return redirect استفاده کنید و آدرس همین صفحه را قرار دهید
ممنون , بخاطر پیغام تو صفحه از روش زیر استفاده کردم .
ModelState.Clear();
با سلام خدمت دوستان
بنده هم این مشکل رو دارم و این راه حل رو هم امتحان کردم اما بازهم همون ارور رو میده و اطلاعات ذخیره نمیشن
البته من لیست های که به مدلم میفرستم از یه مدل دیگه ست
اگه راهنمایی بفرماید ممنون میشم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)