Razor Pages - 返回模型值
Razor Pages - Returning Model Value
我是 Razor 页面的新手,在将模型绑定回视图时遇到问题。
我正在使用 VS2019 版本 16.0.4。
这是我的页面模型:
public class IndexModel : PageModel
{
[BindProperty]
public int PageIndex { get; set; }
public IActionResult OnPost()
{
PageIndex++;
return Page();
}
}
我的观点:
@page
@model IndexModel
<form method="post">
<div class="form-group">
<label asp-for="PageIndex"></label>
<input asp-for="PageIndex" class="form-control" />
<span class="text-danger" asp-validation-for="PageIndex"></span>
<button type="submit" class="btn btn-primary">Increment</button>
</div>
</form>
我希望输入控件中显示的值在每次单击时递增 - 但它仍为零。绑定到控制器似乎工作正常。如果我输入值“5”并单击按钮,则断点会显示在递增到 6 之前收到值 5。但是,递增的值不会反映回视图。
我哪里错了?
模型绑定从 HTTP 请求中获取值并将它们绑定到处理程序方法参数或 PageModel 属性。它不是 two-way,并且不会将这些值绑定回这些值的来源控件。
您需要显式设置输入的 value
属性才能看到您期望的行为:
<input asp-for="PageIndex" value="@Model.PageIndex" />
我是 Razor 页面的新手,在将模型绑定回视图时遇到问题。
我正在使用 VS2019 版本 16.0.4。
这是我的页面模型:
public class IndexModel : PageModel
{
[BindProperty]
public int PageIndex { get; set; }
public IActionResult OnPost()
{
PageIndex++;
return Page();
}
}
我的观点:
@page
@model IndexModel
<form method="post">
<div class="form-group">
<label asp-for="PageIndex"></label>
<input asp-for="PageIndex" class="form-control" />
<span class="text-danger" asp-validation-for="PageIndex"></span>
<button type="submit" class="btn btn-primary">Increment</button>
</div>
</form>
我希望输入控件中显示的值在每次单击时递增 - 但它仍为零。绑定到控制器似乎工作正常。如果我输入值“5”并单击按钮,则断点会显示在递增到 6 之前收到值 5。但是,递增的值不会反映回视图。
我哪里错了?
模型绑定从 HTTP 请求中获取值并将它们绑定到处理程序方法参数或 PageModel 属性。它不是 two-way,并且不会将这些值绑定回这些值的来源控件。
您需要显式设置输入的 value
属性才能看到您期望的行为:
<input asp-for="PageIndex" value="@Model.PageIndex" />