ثبت چند رکورد توسط 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_ نداره این موارد رو چک کنین.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2