На ваш взгляд, если вы явно задаете модель, вам нужно только указать имя свойства из этой модели. Это означает, что ваше представление должно выглядеть как следующий код, и вам не нужно, и вы не можете явно указать Item.Name :
@model Web.Models.Item
<div class="container">
<form asp-action="NewRecord" method="post" class="form-group" role="form">
<div class="form-group row">
<label asp-for="Name"></label>
<div class="col-md-5">
<input asp-for="Name" class="form-control" placeholder="Name" />
</div>
</div>
</form>
С другой стороны, если вы хотите использовать какое-то настраиваемое имя, вам следует использовать аннотации:
using System.ComponentModel.DataAnnotations;
Hovewer, возможно, здесь вы хотите использовать модели просмотра вместо непосредственно моделей, тогда вам понадобится проверка пользовательского интерфейса, пользовательские имена и т. Д. c. Следуйте этому примеру и попытайтесь понять лог c.
public class Item
{
public int Id { get; set; }
[Display(Name = "Some name")]
public string Name { get; set; }
[DisplayName("Map code")]
[MaxLength(30)]
public string MapCode { get; set; }
}