我创建了一个 .Net Core Razor Pages 应用程序。剃刀页面中有两个输入字段和一个提交按钮。当我单击按钮时,输入字段中的数字需要增加。在 OnGet() 方法中分配了一条消息“Hello World”。
为了保留信息,我使用了不显眼的 ajax。在这种情况下,消息将保留在那里,但数字不会增加。有没有什么方法可以刷新数字而无需在 ajax 回调方法中编写代码来单独为每个元素分配值?
最终,我的目标是发布页面的一部分并在回发时刷新字段中的绑定数据,而无需在 ajax 回调中单独为控件分配值。代码示例如下
注意:需要在不重新加载整个页面的情况下执行此操作。
索引.cshtml
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<h1>@Model.Message</h1>
<form method="post" data-ajax="true" data-ajax-method="post" >
<div>
<input type="text" asp-for="Num1" />
<input type="text" asp-for="Num2" />
<input type="submit" value="Submit" />
</div>
</form>
索引.cshtml.cs
public class IndexModel : PageModel
{
[BindProperty]
public int Num1 { get; set; } = 0;
[BindProperty]
public int Num2 { get; set; } = 0;
public string Message { get; set; }
public void OnGet()
{
Message = "Hello World";
GetNumbers();
}
void GetNumbers()
{
Num1 += 1;
Num2 += 5;
}
public IActionResult OnPost()
{
GetNumbers();
return Page();
}
}