I have a view which return a model in list .My view is as follows
<div class="container" style="padding-top:10px; height:100%; width:100%;padding:0;margin:0;"> <table class="table table-bordered table-striped"> <thead> <tr style="text-align:center;"> <th>File Name</th> <th>Download</th> </tr> </thead> <tbody> @foreach (handbook.Data.EmpDoc files in Model) { @if (files.Filevalues == "0") { <tr style="text-align:center;"> <td> <input type="checkbox" id="@files.Filevalues" name="@files.Filevalues" value="1" checked="checked" /> </td> <td>@files.Filename</td> <td class="text-nowrap">@Html.ActionLink("Download", "DownloadFile", new { fileName = files.Filename, id = files.EmployeeId })</td> </tr> } else { <tr style="text-align:center;"> <td> <input type="checkbox" id="@files.Filevalues" name="@files.Filevalues" value="0" /> </td> <td>@files.Filename</td> <td class="text-nowrap">@Html.ActionLink("Download", "DownloadFile", new { fileName = files.Filename, id = files.EmployeeId })</td> </tr> } } </tbody> </table> </div>
I this view i need to add a text box below the table and save and retrieve its comments
but since the controller return list and to retrieve the files i a using foreach loop the text box is repeating for 5 times instead of 1.
If i add the text box alone in a separate div the asp-for is not recognized since i cant passit in for each loop.
my controller is as follows
public async Task<IActionResult> DocumentValidate(int? id) { if (id == null || _context.EmpDocs == null) { return NotFound(); } var getinfo = await _context.EmployeeBasicInformations.FindAsync(id); ViewBag.empid = getinfo.EmployeeId; var foldername = getinfo.EmployeeEmail; var docinfo = await _context.EmpDocs.FindAsync(id); ViewBag.remarks = docinfo.HrRemarks; EmpDoc lol = new EmpDoc(); string dirPath = Configuration["FolderPath:Document_Path"]; string path = Path.Combine(dirPath, foldername); string[] folderpath = Directory.GetFiles(path); EmpDoc docsss = new EmpDoc(); List<EmpDoc> files = new List<EmpDoc>(); foreach (string folderpaths in folderpath) { files.Add(new EmpDoc { Filename = Path.GetFileName(folderpaths), EmployeeId = getinfo.EmployeeId, Filevalues = Path.GetFileNameWithoutExtension(folderpaths) }); } return View(files); }
any model is as follows
public partial class EmpDoc { [Key] public int EmployeeId { get; set; } public string? HrRemarks { get; set; } [NotMapped] public IFormFile File { get; set; } [NotMapped] public string Filename { get; set; } [NotMapped] public string Filevalues { get; set; } }
How to save and retrieve it. Please advice