PDA

View Full Version : راهنمایی برای نگه داشتن مقدار dropdownlist در هنگام رفت و برگشت view به کنترلر



sadeghpa80
چهارشنبه 19 اردیبهشت 1397, 16:55 عصر
سلام من توی پیجم 2 تا ddl دارم که با viewbag پر شدن
کاربر از هرکدوم از اینها یک آیتم انتخاب میکنه و دکمه ثبت رو میزنه
view به کنترلر میره و چک میشه در صورت کم بودن موجودی کالا نسبت به انتخاب کاربر به view بر میگرده و پیام میده موجودی محصول کم است
اما ddl ها بر میگردن روی اولیه و از نو انگار بایند میشن و کاربر مجدد مجبوره انتخاب کنه
آیا راهی هست که توی برگشت view بگم که ddl روی این گرینه بوده ؟
ممنون

سعید کشاورز
پنج شنبه 20 اردیبهشت 1397, 13:10 عصر
ViewBag.drpBrand = new SelectList(_brandService.GetAll(), "Id", "Title", objLaptop.BrandId);

در انتها آیدی مورد نظرت رو که پاس بدی خودش میفهمه کدوم آیتم باید انتخاب بشه

sadeghpa80
شنبه 22 اردیبهشت 1397, 16:27 عصر
من این کار هم کردم اما باز نشد

ببینید این کنترلر صفحه مورد نظرم


[HttpGet]
public ActionResult Sale()
{
ViewBag.customer = new SelectList(_customerRepository.GetAllCustomers(), "CustomerId", "CustomerName");
ViewBag.Group = new SelectList(_productGroupRepository.GetAllProductGr oup(), "GroupId", "GroupName");
return View();
}


و این هم متد post


[HttpPost]
public ActionResult Sale(Sale sale)
{
if (_productRepository.CheckMojudi(sale.Weight, sale.ProductId))
{
var we = _saleRepository.OrginalWeight(sale.ProductId, sale.Weight);
sale.Username = User.Identity.Name;
sale.DateTime = DateTime.Now;
sale.ProductId = sale.ProductId;
sale.OrginalWeight = we;
sale.TotalPrice = sale.Price * we;
_saleRepository.InsertSale(sale);
_productRepository.Mojudi(sale.Weight, sale.ProductId);
UpdateAll.Refresh();
//ViewBag.customer = new SelectList(_customerRepository.GetAllCustomers(), "CustomerId", "CustomerName", sale.CustomerId);
//ViewBag.Group = new SelectList(_productGroupRepository.GetAllProductGr oup(), "GroupId", "GroupName");
//ViewBag.Product = new SelectList(_productRepository.GetAllProducts(), "ProductId", "ProductName");
return RedirectToAction("Sale","Sale");
}
else
{
ModelState.AddModelError("Weight", @"موجودی محصول کم است");
var grId = _productRepository.GetGrouProduct(sale.ProductId);
ViewBag.customer = new SelectList(_customerRepository.GetAllCustomers(), "CustomerId", "CustomerName", sale.CustomerId);
ViewBag.Group = new SelectList(_productGroupRepository.GetAllProductGr oup(), "GroupId", "GroupName", grId);


return View();
}

}


مشکل اصلی من اینه که الان اگه قسمت if کامل اجرا بشه برمیگرده ولی بخش else اجرا بشه ارور برمیگردونه که میخوام بره همون صفحه ولی هر 2 تا ddl از نو پر میشن و روی index = 0 قرار میگیرن

چی کار کنم ؟

ممنون میشم راهنمایی بفرمایید

دوستان یکی کمک کنه خیلی واجبه

rahmatipoor
چهارشنبه 09 خرداد 1397, 04:43 صبح
من تازه شروع به یاد گرفتن ASP.NET MVC کردم. ولی ظاهرا راه حل مشکل شما اینه که توی آموزش آقای کیانی اشاره شده

rahmatipoor
چهارشنبه 09 خرداد 1397, 04:51 صبح
خواستم تصویر رو ویرایش کنم یه تصویر دیگه بزارم. قبلی هم موند هر کاری کردم نشد حذفش کنم
شما تصویر دوم رو ببینید