سلام دوستان من میخوام حلقه for به اندازه حلقه forech پر بشه یک شمارنده گذاشتم واز نظز ارسال مقادیر به اکشن درست کار میکنه ولی در ویو اگر من 4 تا شخص دارم همونا رو تکرار میکنه.تصویر رو ببینید متوجه میشید.
اینها فقط 4 شخص هسن و وقتی داده های آنها رو به اکشن میفرسم درست همین 4 فرستاده میشن ولی در ویو میبیند تکرار شدن
کد رو هم ببینید
@{
int n = 1;
}
<form action="/Home/paySalery" method="post">
@foreach (var item in Model.ProjectViewModels)
{
@for (var i = 0; i < n; i++)
{
<tr>
<td class="tablehead">@item.PersonName</td>
<td><input class="" type="text" style="width: 25px"
name="[@i].workDay" />
</td>
<td><input class="" type="text" style="width: 30px" name="
[@i].AzafeKaryMinet" /></td>
<td><input class="" type="text" style="width: 30px" name="
[@i].mamoriatDay" /></td>
<td><input class="tablehead" type="text" style="width: 60px"nam="
[@i].haghGhza" /></td>
<td><input class="tablehead" type="text" style="width: 60px"nam="
[@i].padash" /></td>
</tr>
}
n++;
}
<button class="btn btn-success mb-4" type="submit">ثبت حقوق</button>
</form
همینطور که مبینید یه شمارنده گذاشتم ولی در ویو درست عمل نمیکنه من میخوام حلقه for به تعداد اشخاص موجود در model بچرخه
سلام دوست عزیز
با توجه به سوال قبلی که پرسیده بوید و سوال الان شما، چیزی که من متوجه شدم اینه که شما کلا نیازی به اون Foreach ندارید ! کافیه فقط با استفاده از یه حلقه For اطلاعاتی که نیاز دارید رو روی صفحه بچینید
حالا اگه به سوال قبلیتون نخوایم رجوع کنیم و ملاک صرفا همین سوال شما باشه که میخواید هربار حلقه For شما به تعداد آیتم های حلقه Foreach شما اجرا بشه ، کافیه بجای n ، تعداد آیتم های لیست Foreach رو جایگزین کنید به اینصورت :
@for (var i = 0; i < Model.ProjectViewmodels.Count; i++)
اما فکرنکنم خروجی که توی ذهنتون هست رو بهتون بده و باید از روش اولی که خدمتتون عرض کردم استفاده کنید.
اگر نیازی به توضیح مجدد و اضافه ای بود من درخدمتم، فقط قبلش لطف بفرمایید ساختار ViewModel و نحوه پاس دادن اطلاعات به این ویو و پاس دادن این اطلاعات به اکشن جهت ثبت اطلاعاتتون رو توضیح بدید.
موفق باشید.