我想从这样的常规控制器操作重定向到剃刀页面:
return RedirectToPage("Edit", new { id = blogId });
我已经有了一个名为“编辑”的剃须刀页面,该页面在正常导航至该页面时会起作用:
使用RedirectToPage
时出现以下错误:
InvalidOperationException:相对页面路径“编辑”只能是 在执行“剃刀页面”时使用。用一个指定根相对路径 前导“ /”以在Razor页面之外生成URL。
有什么办法指定该路径吗?
答案 0 :(得分:4)
该错误已经为您提供了答案:您应该在开头添加“ /”,并指定到剃须刀页面的相对路径。所以你应该有
return RedirectToPage("/BlogPosts/Edit", new { id = blogId });
代替
return RedirectToPage("Edit", new { id = blogId });
请注意“ / BlogPosts / Edit” 和“ Edit” 之间的区别。 RedirectToPage
方法期望到剃刀页面的路径(基于图像,相对路径为“ / BlogPosts / Edit” ),从根文件夹开始默认为Pages
。