У меня есть модель, которую я использую на своей странице Razor , я могу получить доступ к ее свойствам, и если я присваиваю им какое-либо значение, я могу получить к ней доступ в своем методе Post, но не во встроенном объектеУ меня есть.
Почему мой адрес НЕДЕЙСТВИТЕЛЕН?
Моя модель:
public class AddressModel
{
public string Street{get;set;}
// More props...
}
public class PersonModel
{
public string Name{get;set;}
public int Age{get;set;}
public AddressModel Address {get;set;}
}
Страница бритвы с кодовой страницей:
cshtml.cs
public class CreateModel : PageModel
{
[BindProperty]
public PersonModel Person{get;set;}
public IActionResult OnGet() { return Page(); }
public async Task<IActionResult> OnPostAsync()
{
// Person.Name is filled and have the string I typed
// Person.Age is filled and have the value I typed
// but Person.Address is NULL. Why?
}
}
cshtml:
@page
@model CreateModel
<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Person.Name" class="control-label"></label>
<input asp-for="Person.Name" class="form-control" />
<span asp-validation-for="Person.Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Person.Age" class="control-label"></label>
<input asp-for="Person.Age" class="form-control" />
<span asp-validation-for="Person.Age" class="text-danger"></span>
</div>
// ...
<div class="form-group">
<label asp-for="Person.Address.Street" class="control-label"></label>
<input asp-for="Person.Address.Street" class="form-control" />
<span asp-validation-for="Address.Prop3.Street" class="text-danger"></span>
</div>
// ...
</form>