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

时间:2018-06-27 09:10:51

标签: c# asp.net-core-mvc razor-pages

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

return RedirectToPage("Edit", new { id = blogId });

我已经有了一个名为“编辑”的剃须刀页面,该页面在正常导航至该页面时会起作用: enter image description here

使用RedirectToPage时出现以下错误:

  

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

有什么办法指定该路径吗?

1 个答案:

答案 0 :(得分:4)

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

return RedirectToPage("/BlogPosts/Edit", new { id = blogId });

代替

return RedirectToPage("Edit", new { id = blogId });

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