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

Razor Pages多表单问题:表单为何指向OnPost而非指定方法?

解决Razor Pages多表单提交handler指向错误的问题

问题出在asp-page-handler的属性值写法不符合Razor Pages的命名约定:

1. 修正前端表单的handler属性

Razor Pages会自动识别OnPost{HandlerName}格式的方法,所以你不需要在asp-page-handler里写完整的OnPostUpdateUnits,只需要写后缀部分UpdateUnits即可。

正确的表单代码:

<form method="post" asp-page-handler="UpdateUnits">
    <select asp-for="Units" asp-items="Model.UnitsSet"></select>    
    <br /><button type="submit">Update Units</button>
</form>

2. 确保后端方法符合规范

后端的处理方法必须遵循OnPost{HandlerName}的命名规则,且为public访问级别,示例代码:

public IActionResult OnPostUpdateUnits()
{
    // 这里写你的更新逻辑
    return Page();
}

额外检查项

  • 确认你的页面模型类继承自PageModel
  • 表单的method属性确实设置为post(你的代码已经满足)
  • 页面中没有其他元素手动设置name="handler"的参数值,避免冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:42:05