سلام
من توی سایتم یه بخش دارم که پرسنل فروش های روزانه شرکت رو وارد میکنن
حالا مثلا یه مشتری شاید توی طول روز 5 بار خرید کنه و هربار 10 قلم کالا بخره
حالا من یه tabel دارم بنام order و یه tabel بنام OrderDetail
فیلد هاش اوکیه مشکلی نیست
مشکلم پیاده سازی این ساختار هست
میخوام ابتدا کاربر بیاد نام مشتری و مشخصات مشتری رو وارد کنه بعد پایین یه جدول مانند داشته باشه که بتونه توش ردیف های محصولات رو وارد کنه
یچیز تو مایه های نمونه زیر اما توی MVC
در این صفحه کابران ابتدا در بالا یک سری اطلاعات تکمیلی رو وارد میکنن بعد در قسمت پایین هر چند تا خواستن ردیف اضافه میکنن و اطلاعات رو میزنن داخلش
یه همچین چیزی چجوری میشه ساخت ؟
با استفاده از html و css بسازید
مشکل رو متوجه نمیشم
مشکل اینجاست که الان توی این مشکل دارم که قسمت بالای فرم یک مدل هست مدل order و قسمت پایین یه مدل دیگه OrderDetail
جالا میشه توی یه action توی 2 تا مدل insert کرد ؟؟
مثلا کاربر با زدن یه دکمه ول توی Order اطلاعات وارد بشه بعد هم توی OrderDetail ؟
از ViewModel باید استفاده کنید
ممنون مهندس
فقط یه سوال
من الان یه کد رو generate میکنم توی view میفرستمش با viewbag و اونجا توی فیلد input hidden میریزم
اما میخوام بعد از ثبت اطلاعات توسط کاربر و ذخیره در دیتابیس این کد تغییر نکنه چون وقتی به view بر میگرده این کد مجدد generate میشه
یعنی هر زمان کاربر خودش خواست تغییر کنه
برای این عملیات باید چه سازو کاری داشته باشم ؟
از TempData استفاده کنید
مهندس من یه کد generat میکنم و با استفاده از tempdata["saleId"] انتقالش میدم به صفحه
[HttpGet] public ActionResult Sale() { ViewBag.customer = new SelectList(_customerRepository.GetAllCustomers(), "CustomerId", "CustomerName", _cus); TempData["saleId"] = CodeGen(); return View(); }
بعد از ذخیره کاربر برای post از کد زیر استقاده میکنم
[HttpPost] public ActionResult Sale(Sale sale) { try { _saleRepository.InsertSale(sale); UpdateAll.Refresh(); ViewBag.customer = new SelectList(_customerRepository.GetAllCustomers(), "CustomerId", "CustomerName"); TempData["message"] = "ثبت با موفقیت انجام گردید"; return View("Sale"); } catch (Exception) { TempData["messageError"] = "عدم ارتباط با سرور"; return View("sale"); } }
اما 2 تا نکته
اول اینکه بعد از ثبت کاربر این کد کلا دیگه از بین میره
نکته دوم اینکه این کد توی دیتابیس ذخیره نمیشه و مقدارش 0 هست . با اینکه توی تریس کد مقدار داره
با jquery هم به کنترلر انتقال دادم در این صورت هم توی تریس کد مقدار داره ولی بعد دخیره همه آیتم ها ذخبره میشه بجر این !
ممنون میشم راهنمایی بفرمایید
مهندس یه نکته
من کد قسمت Post مثلا 10 تا خط هست
وقتی کد رو تریس میکنم و با F10 گام به گام میرم جلو
این کد من مثلا خط اول و دوم رو میره به سوم میرسه دوباره میار اول بریک پوینت بعد f10 میزنم میره روی خط سوم دوباره f10 میزنم میره روی بریک پوینت
یعنی تا آخر یکی درمیون میپره بالا دوباره ادامه میده !! ولی تا آخر میره و با موفقیت تموم میشه ولی هی پرش میکنه !
علت چی میتونه باشه ؟
نمیشه حدس زد دوست من
باید کدتون Trace بشه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)