【问题标题】:RazorPage not calling PageModel functionRazorPage 未调用 PageModel 函数
【发布时间】:2021-10-13 20:29:46
【问题描述】:

我无法在 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()

似乎是一个如此简单的问题,但无法让这些不是 OnPostX 或 OnGetX 的“其他”功能发挥作用。

使用 .Net 5

【问题讨论】:

    标签: asp.net asp.net-core razor


    【解决方案1】:

    你可以尝试使用&lt;a&gt;标签。这样点击的时候会发送一个get请求:

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

    如果要发送post请求,可以尝试使用form:

    <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");
                }
    

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      相关资源
      最近更新 更多