دسته بندی ها
23:39 1403/06/25

ثبت چند رکورد توسط CheckBox با استفاده حلقه

مشخصات سوال کننده :
کاربر : mmojadmi     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 1313
2 نظر
saedbfd : لطفا خطایی که دارید هم قرار بدید. موقعی که خطا دریافت می کنید چه پیغامی میده ؟

امتیاز کاربر : 1664   رتبه کاربر : 1   تاریخ ثبت : 10:28 1403/06/26
mmojadmi : خطایی نمیده مستقیم میره قسمت Dispose ، از نظر کد مشکلی نداره؟

امتیاز کاربر : 3   رتبه کاربر : 136   تاریخ ثبت : 03:14 1403/06/26
هوش مصنوعی

پاسخ هوش مصنوعی

برای ذخیره اطلاعات با استفاده از چک باکس ها در دیتاگرید، باید از روش صحیح برای ارسال و ذخیره اطلاعات استفاده کنید. با توجه به کد شما، اطمینان حاصل کنید که مقادیر چک باکس به درستی به کنترلر ارسال می شوند و اینکه متد Save در واحد کار (unit of work) شما به درستی عمل می کند.

در کد HTML خود از نام مناسب برای چک باکس ها استفاده کنید و اطمینان حاصل کنید که نام آن ها یکسان باشد تا در کنترلر به صورت آرایه ارسال شوند. در اینجا نمونه ای از کد HTML و کنترلر اصلاح شده را می بیند:

<tbody>
   @foreach (var item in Model)
   {
      <tr style="font-size:12px;text-align-last: center;">
         <td><input type="checkbox" name="CheckBox1" value="@item.LessonCode" class="descclass" /></td>
         <td style="width:60px; text-align:center;">@counter</td>
         <td>@item.LessonCode</td>
         <td>@item.LessonName</td>
         <td>@item.UnitName</td>
         <td>@item.unit</td>
      </tr>
      counter++;
   }
</tbody>

در کنترلر، اطمینان حاصل کنید که لیست مورد نظر به درستی ذخیره می شود:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> AddLesson(string[] CheckBox1, string redirectUrl)
{
   if (ModelState.IsValid && CheckBox1 != null && CheckBox1.Length > 0)
   {
      foreach (var code in CheckBox1)
      {
         LessonSelection LS = new LessonSelection
         {
            LessonCode = code,
            StudentCode = "1740379402",
            AcademicYearCode = "14031",
            Tuition = "500"
         };
         _iunitofwork.lessonSelectionUW.Create(LS);
      }
      await _iunitofwork.save(); // اطمینان حاصل کنید که این یک عمل غیرهمزمان است
   }
   return Redirect(redirectUrl); // به صفحه مورد نظر هدایت شود
}

با این تغییرات، اطمینان حاصل کنید که اطلاعات به درستی ارسال و ذخیره می شوند. همچنین فراموش نکنید که بسته به نیاز خود، `redirectUrl` را تنظیم کنید تا کاربر پس از ذخیره به صفحهٔ مناسب هدایت شود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : Radman 00:28 1403/06/30

با درود

داخل اکشن متد addlessen در کنترلر بریک پوینت بزارین ببینین وارد حلقه میشه.

اکشن متد async تعریف شده ولی در iunitofwork await_ نداره این موارد رو چک کنین.

ویرایش شده در سه شنبه 10 مهر 1403 ساعت 10:29:51
به این پاسخ امتیاز بدهید    1
امتیاز: 169 رتبه: 9
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود