Good morning
In my project i have a form for inserting some data in the database and i want this data to be inserted with the current user ID so that latter i can load based on the current user id .
I can get the name, in this case my email, but i want the id.
Do i need to relate my form to the current user id ? or does the framework deal with it ? How do i get the current session user id into my form ? or simply into my database, no need to load into the form.
. . . <form method="post"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <!-- <label>@User.Identity.Name</label> --> </div> <div class="form-group"> <label asp-for="Entity.Title" class="control-label"></label> <input asp-for="Entity.Title" class="form-control" /> <span asp-validation-for="Entity.Title" class="text-danger"></span> </div> <div class="form-group"> <label asp-for="Entity.Description" class="control-label"></label> <input asp-for="Entity.Description" class="form-control" /> <span asp-validation-for="Entity.Description" class="text-danger"></span> </div> <div class="form-group"> <input type="submit" value="Create" class="btn btn-primary" /> </div> </form> . . .
My Model:
using Microsoft.AspNetCore.Identity; using System.ComponentModel.DataAnnotations; namespace HyperWeb_V3.Models { public class Entity { [Key] public int Id { get; set; } [Required] [StringLength(100, MinimumLength = 3)] [RegularExpression(@"^[a-zA-Z0-9\s]*$", ErrorMessage = "Only alphanumeric characters and spaces are allowed.")] public string Title { get; set; } [Required] [StringLength(1000)] public string Description { get; set; } // Author ID - IMPORTANT public IdentityUser Author { get; set; } } }
Maybe i can set it automaticly in the model, would be really greath, or simply get it from somewhere when pressing the submit button.
Best regards Rui Ruivo