Вы должны держать данные, передаваемые методом OnGet в поле зрения (например, hidden controls
), затем передавать их в метод OnPost, а метод OnPost должен receive parameter
из поля зрения, чтобы получить данные в методе OnGet.
Я создал простую демонстрацию для вашей справки:
[BindProperty]
public Employee Employee { get; set; }
public void OnGet()
{
Employee = new Employee()
{
Id = 1,
Name = "aaaa"
};
nExpenses = 1;
}
public void OnPost(Employee employee)
{
}
Представление:
@page
@model WebApplication_core_razorpage.Pages.CodeSampleModel
@*
For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
*@
<form method="post">
@Html.HiddenFor(model => model.Employee.Id)
@Html.HiddenFor(model => model.Employee.Name)
<input id="Button1" type="submit" value="button" />
</form>
Класс сотрудника:
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
}
Вот процесс отладки: