У меня есть веб-приложение ASP. Net Core 3.1, и я пытаюсь использовать автоматическую c привязку модели, но мне кое-что не хватает (обычно c) в том, как соблюдаются соглашения
Sales.cs html:
@page
@model foo.Views.Dashboard.SalesModel
<div class="container">
<h3>@Model.periodMonthSelect</h3>
<form asp-page="/Dashboards/Sales" method="POST">
<input name="periodMonthSelect" type="text" value="July 2020"/>
<input type="submit"/>
</form>
Sales.cs html .cs
namespace foo.Views.Dashboard
{
public class SalesModel : PageModel
{
[BindProperty]
public string periodMonthSelect { get; set; }
}
}
DashboardController.cs
public class DashboardController : Controller
{
public IActionResult Sales()
{
return View();
}
}
В контроллере, если я верну new View()
, я получу Object reference not set to an instance of an object
, потому что, очевидно, нет объекта Model. Однако, если я верну new View(new SalesModel())
, значение свойства члена periodMonthSelect
, конечно, будет null.
Я пытался найти ответ на этот вопрос, но трудно выделить только важную информацию к новой версии. NET Core 3.1.
Я подтвердил, что значение для periodMonthSelect
присутствует в параметрах запроса POST.
Как получить автоматически заполненный экземпляр модели для передачи на страницу Razor?