При создании элемента лесов (CRUD) Visual Studio создает несколько страниц, у меня возник вопрос по поводу страницы редактирования.Здесь он создает макет по умолчанию для обновления вашей модели, который может быть изменен в соответствии с вашими потребностями.Проблема, которую я вижу, состоит в том, что она создает скрытое поле ввода для вашего идентификатора.Разве это не проблема безопасности, поскольку элемент управления вводом можно редактировать?Если это отредактировано, то когда вы сохраните теорию, это обновит другой элемент (отсюда проблема безопасности)Кроме того, что если у меня есть второе поле, которое не нужно редактировать, например «CreatedBy», я должен просто создать другое скрытое поле?Если это поле также будет отредактировано, я потеряю своего первоначального пользователя CreatedBy.
Кроме того, если я удалю эти скрытые поля ввода для устранения угрозы безопасности, проблема, с которой я сталкиваюсь, заключается в том, что автоматическая проверка не будет выполнена, поскольку она не сохранитмой Id или CreatedBy пользователь на модели.Это также проблема при обновлении, потому что идентификатор также будет потерян.Какой самый лучший и правильный способ справиться с этим?
Ниже приведен пример автоматического кода, созданного Visual Studio при создании элемента леса (CRUD):
...
<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="Test.Id" />
<div class="form-group">
<label asp-for="Test.Created" class="control-label"></label>
<input asp-for="Test.Created" class="form-control" />
<span asp-validation-for="Test.Created" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Test.CreatedBy" class="control-label"></label>
<input asp-for="Test.CreatedBy" class="form-control" />
<span asp-validation-for="Test.CreatedBy" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Test.Blahblah" class="control-label"></label>
<input asp-for="Test.Blahblah" class="form-control" />
<span asp-validation-for="Test.Blahblah" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
...
В любом случае яЯ знаю, что это что-то простое, и я искал в Интернете ответ на этот вопрос, но не смог его найти.Я нашел способы проверки определенных свойств во время проверки, но это по-прежнему не гарантирует, что я не потеряю поля Id и CreatedBy при условии удаления скрытых входных данных.
Кажется, что мой единственный вариант -есть проблема безопасности, но я отказываюсь верить, что это правильный метод.В любом случае, спасибо за помощь!