【发布时间】:2019-12-23 03:12:49
【问题描述】:
当尝试在 OnPost() 操作中访问 Companies 属性时,该属性为空,但不在 OnGet() 中。
我一般是 .net 中的 Razor Pages 和 MVC 的新手。
public class CreateModel : PageModel
{
ICompanyRepository _companyRepository;
public CreateModel(ICompanyRepository companyRepository)
{
_companyRepository = companyRepository;
}
[BindProperty]
public Company company { get; set; }
[TempData]
public string Message { get; set; }
[BindProperty]
public List<Company> Companies { get; set; }
public void OnGet()
{
Companies =_companyRepository.GetCompanies();
}
public IActionResult OnPost()
{
company.DatabaseId = Companies.Find(x =>
x.CompanyId.Equals(company.CompanyId)).DatabaseId;
company.Active = true;
if(ModelState.IsValid)
{
try
{
_companyRepository.Create(company);
}
catch (Exception ex)
{
Message = ex.Message;
return Page();
}
}
else
{
Message = "Please complete form";
}
return Page();
}
}
我希望我能够通过我的任何操作访问 Companies 属性。但是当我去查找公司内部时,它是空的。我也在使用相同的列表来填充页面上的选择列表,并且该列表按预期填充。一旦我去发布,它是空的。感谢任何人提供的任何帮助。
【问题讨论】:
标签: c# .net-core razor-pages