RazorPage 不调用 PageModel 函数

RazorPage not calling PageModel function

我无法获得调用 PageModel 中函数的按钮

<button type="button" class="btn btn-secondary" asp-page-handler="ExecuteScraping" asp-route-servername="@(server.serverName)">Update All</button>
public async Task<IActionResult> OnGetExecuteScrapingAsync(string servername)
            {
                await _controller.ExecuteScraping(servername);
                return RedirectToPage("Index");
            }

还尝试了函数名称,例如:

ExecuteScraping()
ExecuteScrapingAsync()

看起来是个简单的问题,但无法使这些 'other' 不是 OnPostX 或 OnGetX 的函数起作用。

使用 .Net 5

你可以尝试使用<a> tag.So点击它会发送一个get请求:

<a asp-page-handler="ExecuteScraping" asp-route-servername="@(server.serverName)">Update All</a>

如果你想发送一个post请求,你可以尝试使用表单:

<form method="post">
    <button type="submit" class="btn btn-secondary" asp-page-handler="ExecuteScraping" asp-route-servername="testName">Update All</button>
</form>

处理程序:

public async Task<IActionResult> OnPostExecuteScrapingAsync(string servername)
            {
                await _controller.ExecuteScraping(servername);
                return RedirectToPage("Index");
            }