asp-page标签未正确路由

时间:2020-05-18 02:24:17

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

我在_layout模板导航栏中嵌入了一个搜索栏,因此我想指定表单提交到的剃须刀页面和页面处理程序。但是,asp-page标记帮助程序似乎无效,并提交到当前URL。奇怪的是我的锚标签是用相同的方式构造的并且可以正常工作。剃刀页面的名称为@page "/Users" html:

<form method="get" asp-page="/Users" asp-page-handler="Search">
   <input class="form-control" type="text" name="userName">
   <input type="submit" value="Search">
</form>

<a asp-page="/Login" asp-page-handler="Logout" class="btn btn-outline-primary">Logout</a> <-- this works

这是应该调用的页面模型,但除非从同一页面提交表单,否则不应调用该页面模型:

public class AllModel : PageModel
{
    public async Task OnGet()
    {
        ...     
    }
    public async Task OnGetSearchAsync([FromForm] string userName)
    {
       ...
    }
}

我可以看到与请求一起发送的表单数据,但没有看到URL中的?handler = Search,只有userName属性。

0 个答案:

没有答案