ASP.net MVC核心RedirectToPage错误-指定根相对路径错误

Pin*_*ani 4 c# asp.net-core-mvc razor-pages

我想从这样的普通控制器操作重定向到剃须刀页面:

return RedirectToPage("Edit", new { id = blogId });
Run Code Online (Sandbox Code Playgroud)

我已经有一个名为“ Edit”的剃须刀页面,该页面在正常导航至该页面时可以正常工作: 在此处输入图片说明

随着RedirectToPage我得到以下错误:

InvalidOperationException:相对页面路径“编辑”只能在执行Razor页面时使用。用前导“ /”指定根相对路径,以在“剃须刀页面”之外生成URL。

任何想法如何指定该路径?

Cod*_*und 6

该错误已经为您提供了答案:您应该在开头添加开头的“ /”,并指定到剃须刀页面的相对路径。所以你应该有

return RedirectToPage("/BlogPosts/Edit", new { id = blogId });
Run Code Online (Sandbox Code Playgroud)

代替

return RedirectToPage("Edit", new { id = blogId });
Run Code Online (Sandbox Code Playgroud)

注意“ / BlogPosts / Edit”“ Edit”之间的区别。RedirectToPage方法期望到剃刀页面的路径(基于图像,相对路径为“ / BlogPosts / Edit”)从Pages默认情况下的根文件夹开始。