ثبت چند رکورد توسط CheckBox با استفاده حلقه
با سلام
از یک دیتاگرید چند رکورد با چک باکس را انتخاب میکنم و با کلیک روی ذخیره اطلاعات می خواهم آنها را ذخیره کنم ولی اطلاعات را ذخیره نمی کند و به قسمت Dispose میره. ممنون میشم راهنمایی بفرمایید.
<tbody>
@foreach (var item in Model)
{
<tr style="font-size:12px;text-align-last: center;">
<td><input type="checkbox" id="CheckBox1" 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)
{
for (var i = 0; i < CheckBox1.Count(); i++)
{
LessonSelection LS = new LessonSelection();
LS.LessonCode = CheckBox1[i];
LS.StudentCode= "1740379402";
LS.AcademicYearCode = "14031";
LS.Tuition = "500";
_iunitofwork.lessonSelectionUW.Create(LS);
_iunitofwork.save();
}
}
return View();
}
پاسخ هوش مصنوعی
برای ذخیره اطلاعات با استفاده از چک باکس ها در دیتاگرید، باید از روش صحیح برای ارسال و ذخیره اطلاعات استفاده کنید. با توجه به کد شما، اطمینان حاصل کنید که مقادیر چک باکس به درستی به کنترلر ارسال می شوند و اینکه متد 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` را تنظیم کنید تا کاربر پس از ذخیره به صفحهٔ مناسب هدایت شود.
با درود
داخل اکشن متد addlessen در کنترلر بریک پوینت بزارین ببینین وارد حلقه میشه.
اکشن متد async تعریف شده ولی در iunitofwork await_ نداره این موارد رو چک کنین.
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2