When using Razor Pages 7 I have this in the code-behind file:
public record PersonDto(
long Id,
string Name,
[BindNever] string Address,
// ...
);
[BindProperty] public PersonDto Person { get; set; }
I populate that in the OnGet() and show it on the page. I read it in the OnPost() to update the database.
But Address is supposed to be read-only. I do not allow it to be changed, so the post handler always fails with a validation error of "The Address field is required".
The BindNever attribute does not work on the record (even though the docs show that it should).
I also tried the long-form record syntax, and the [property:BindNever] syntax, with the same result.
Anyone know why?
I found a workaround. I replaced this:
with this: