Я использую страницы бритвы и EF CORE, извлекаю значения из базы данных и помещаю их в представление вот так.
<input asp-for="theModel.theValue1" class="form-control" />
используя BindProperty
[BindProperty]
public theModel theModel { get; set; }
Пока что по документации. У меня есть еще одно значение в модели, называемое theValue2
, которое должно оставаться неизменным при отправке этого представления. Если я сохраню вид, используя
_context.Attach(theModel).State = EntityState.Modified;
await _context.SaveChangesAsync();
тогда theModel.theValue2
имеет значение null, поскольку у меня нет соответствующего ввода в самом представлении, что, как и следовало ожидать, с безгражданством.
Это единственный способ сохранить значения между правками, чтобы поместить скрытый ввод в представление для каждого свойства в модели, например так.
<input type="hidden" asp-for="theModel.theValue2" />
или есть более элегантный способ сказать либо «обновлять только theModel.theValue1
», либо «не обновлять theModel.theValue2
»?