You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Razor Pages 7提交表单时如何保留排序、分页等参数?

Razor Pages 7 筛选、排序与分页的参数绑定问题

我正在使用Razor Pages 7开发包含筛选、排序和分页功能的页面,MyPage.cshtml.cs中定义了以下属性与方法:

public SelectList Products { get; set; }
public int Sort { get; set; }
public int Page { get; set; }
public int Filter { get; set; }

public async Task OnGetAsync(int sort, int page, int filter) {
  //...
}

MyPage.cshtml中的表单代码如下:

<form method="get" asp-page="" asp-route-sort=@Model.Sort asp-route-page=@Model.Page>
  <select name="filter" asp-items=@Model.Products>
    <option selected value="0">按产品筛选</option>
  </select>
  <input type="submit" value="提交" />
</form>

表单渲染后的HTML符合预期:

<form method="get" action="/mypage?sort=10&page=3">
  ...
</form>

但提交表单时,GET请求仅能绑定filter参数,sort和page参数无法从表单的action URL中完成绑定。我想知道Razor Pages是否提供原生方式实现这些参数的绑定?(我可以用JavaScript实现,但希望采用Razor Pages原生方案。)


更新:我发现可以通过添加隐藏输入框实现,在表单中加入:

<input type="hidden" name="sort" value=@Model.Sort />
<input type="hidden" name="page" value=0 />  <!-- 切换筛选时重置页码 -->

但这是手动实现方式,存在大量硬编码的魔术字符串,有没有Razor Pages原生的实现方式?


内容的提问来源于stack exchange,提问作者lonix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 03:15:23