I have a view which shows files from folder and the number of files may vary from user to user
I am dynamically creating checkbox and capturing its values based on filename for each row
the code is as follows
<input type="checkbox" id="@files.Filevalues" name="@files.Filevalues" value="1" checked="checked" />
My controller is as follows this passes value to view
var getinfo = await _context.EmployeeBasicInformations.FindAsync(id); ViewBag.empid = getinfo.EmployeeId; var foldername = getinfo.EmployeeEmail; string dirPath = Configuration["FolderPath:Document_Path"]; string path = Path.Combine(dirPath, foldername); string[] folderpath = Directory.GetFiles(path); List<EmpDoc> files = new List<EmpDoc>(); foreach (string folderpaths in folderpath) { files.Add(new EmpDoc { Filename = Path.GetFileName(folderpaths), EmployeeId = getinfo.EmployeeId, }) ; } return View(files);
MyModel is as follows
public int EmployeeId { get; set; } public string? Form1{ get; set; } public string? Form2 { get; set; } public string? EnteredBy { get; set; } public DateTime? EnteredDatetime { get; set; } public string? UpdatedBy { get; set; } public DateTime? UpdatedDatetime { get; set; } public string? ValidatedBy { get; set; } public string? Form3 { get; set; } public string? Form4 { get; set; } public string? Form5 { get; set; } [NotMapped] public IFormFile File { get; set; } [NotMapped] public string Filename { get; set; } [NotMapped] public string Filevalues { get; set; }
the files are stored as form1.pdf, form2.pdf
when i check a checkbox for example if i am checking form1 checkbox , in db under form1 column i am saving it as 1 and 0 for non checked .
I am able to save the data, but i am facing issue when i relogin the page , i am unable to retrieve the values and pass it to view
my view is as follows
@foreach (handbook.Data.EmpDoc files in Model) { @if (files.Filevalues == "1") { <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> } }