gpt4 book ai didi

c# - 页面路由阻止 OnGet() 接收查询参数

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:07 24 4
gpt4 key购买 nike

我正在将 WebForms 应用程序移植到 Razor Pages,并且我正在使用以下路由来防止破坏我的 URL 之一。

services.AddMvc().AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Resources/CharClass", "/Resources/CharClass.aspx");
});

但是使用下面的代码,当我使用 URL /Resources/CharClass.aspx?page=500 时,page 始终为 null。

cshtml

@page "{page:int?}"

cshtml.cs

public void OnGet(int? page)
{
//
}

该论点似乎适用于未以这种方式路由的页面。我怎样才能两者兼得?

最佳答案

我怀疑您遇到的问题是参数名称 - page。这似乎与 PageModel 类的 Page 属性冲突,并且在模型绑定(bind)期间没有绑定(bind)任何内容。但是,您可以使用传统方法访问查询字符串值:

var page = Request.Query["page"];

编辑:刚看到这部分包含在对您关于该问题的其他问题的回复中:Razor page link ignores route argument

关于c# - 页面路由阻止 OnGet() 接收查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57399361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com