I have a table with Id and Status as string. The user can enter two or more text and with a click of a button they should be all written to database. So far I tried to have this
<form method="post"> <div class="row no-gutters mt-4"> <p class="text-left h5 ml-1">Root Causes<span class="text-left h5 ml-1" style="color:steelblue"> - Identification</span></p> </div> <div class="col-md-2"> <div class="text-center"> <input asp-for="RCAMain.Status" /> </div> </div> <div class="col-md-2"> <div class="text-center"> <input asp-for="RCAMain.Status" /> </div> </div> <div class="col-md-2"> <div class="text-center"> <input asp-for="RCAMain.Status" /> </div> </div> <div class="row no-gutters"> <button class="btn border-0 text-white mt-2" asp-page-handler="AddRCAMain" asp-route-idinv="@Model.IdINV" asp-route-app="@Model.APP" type="submit" style="background-color:indigo"> Add RCA Category </button> </div> </form>
public async Task<IActionResult> OnPostAddRCAMainAsync(string idinv, string app) { var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); var orgid = await _context.UsersData.Where(a => a.Id == userId).Select(a => a.OrgID).SingleOrDefaultAsync(); var idrca = await _context.InvestigationRCAs.Where(s => s.OrgID == orgid && s.IdINV == idinv).Select(s => s.IdRCA).FirstOrDefaultAsync(); var newRCAMain = new RCAMain() { IdRCA = idrca }; if (await TryUpdateModelAsync(newRCAMain, "RCAMain", s => s.Status )) { _context.RCAMains.AddRange(newRCAMain); await _context.SaveChangesAsync(); return RedirectToPage("/SRM/Investigation/RCA", new { idinv, app }); } return Page(); }
but no Status is added, only the IdRCA