【发布时间】:2018-07-07 23:45:51
【问题描述】:
我想在我的 razor pages 应用程序中使用名为 page 的 url 参数:
http://example.com/Dataset/0?page=X
我尝试使用这样的锚标记助手:
<a asp-page="Dataset" asp-route-id="@(dataset.Id)" asp-route-page="@(pageNumber)">@(dataset.Title)</a>
但这不起作用,似乎asp-page和asp-route-page相互冲突,结果是:
http://example.com/Dataset/0
上面的问题可以很容易地通过在html中输入来解决,所以这不是一个真正的问题。
真正的问题:我尝试手动将 ?page=100 添加到 url 的末尾,我检查了 OnGet 方法中的值及其 0,就好像参数丢失了一样。
编辑:当您在浏览器中访问剃须刀页面时会调用此方法,该方法的参数与来自url查询的参数名称相同,它们会从查询中自动填充,页面参数除外
public FileResult OnGet(int id, string subject, string predicate, string @object, int page)
{
// page==0 in this scope even if the query is ?page=30 etc
// other parameters work fine
}
【问题讨论】:
-
请分享操作方法的代码。
-
更新了 OnGet 方法并更好地描述了它