How update a property of an object using a drop-down list in ASP.NET MVC?

you have to add asp-for to select and @Html.AntiForgeryToken() to form

@{
    var items = new List<SelectListItem>
    {
        new SelectListItem { Value="1 Centavo",   Text="1 Centavo" },
        new SelectListItem { Value="5 Centavos",  Text="5 Centavos" },
        new SelectListItem { Value="10 Centavos", Text="10 Centavos" },
        new SelectListItem { Value="25 Centavos", Text="25 Centavos" },
        new SelectListItem { Value="50 Centavos", Text="50 Centavos" },
        new SelectListItem { Value="1 Real",      Text="1 Real" }
    };
}

@using (Html.BeginForm("add", "moedas", FormMethod.Post))
{
 @Html.AntiForgeryToken() 
....
 <select asp-for="Tipo"  asp-items="@items" id="tipo"> select </select>
.....

}

and fix the actions

public IActionResult Add()
{
var model= new Moeda();
    return View(model);
}

public async Task<IActionResult> Add(Moeda moeda)
{
     _context.Moeda.Add(moeda);
 
    await _context.SaveChangesAsync();

    return RedirectToAction(nameof(Index));
}

Update your list first with the newly added item in the Add(..) method then update list in the model and finally return view with updated model. If you have correctly mapped your list from backed to the view drop down list then this should be working.