Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Core 2.1 Razor Pages定位标记帮助程序为ASP路由生成空href_C#_Asp.net Core - Fatal编程技术网

C# ASP.NET Core 2.1 Razor Pages定位标记帮助程序为ASP路由生成空href

C# ASP.NET Core 2.1 Razor Pages定位标记帮助程序为ASP路由生成空href,c#,asp.net-core,C#,Asp.net Core,使用asp路由属性时,我的锚标记帮助程序生成空href。我肯定我错过了什么 启动->配置服务: services.AddRouting(); services.AddMvc() .AddRazorPagesOptions(options => { options.Conventions.AddPageRoute("/user/signin", "signin"); })

使用asp路由属性时,我的锚标记帮助程序生成空href。我肯定我错过了什么

启动->配置服务:

services.AddRouting();
services.AddMvc()
            .AddRazorPagesOptions(options =>
            {
                options.Conventions.AddPageRoute("/user/signin", "signin");
            })
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
然后在razor视图中:



如果我导航到/signin,它将正确转到/user/signin页面

asp路由标记帮助程序希望提供的值为:

asp路由属性用于创建直接链接到命名路由的URL

如果要链接到ASP.NET Core Razor页面,可以使用
ASP页面



那么asp路由需要路由属性装饰?我现在做了一个测试,将[Route(“/user/signin”,Name=“signin”)]添加到OnGetAsync,然后我认为ASP.NET核心剃须刀页面不支持使用
[Route]
或例如
[HttpGet]
。关于这一点的讨论表明我的理解是正确的。谢谢,似乎RedirectToRoute在Razor页面中也不起作用,它没有考虑通过选项定义的路由。约定。AddPageRoute您希望使用
RedirectToPage
,使用与我的示例类似的值。RedirectToPage和asp页面适合我。我只是认为在使用路由时,RedirectToRoute和asp路由将是一种更合适的方式,但现在很明显,它们只能与MVC一起使用,而不受Razor页面的支持。