繁体   English   中英

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

[英]ASP.net MVC core RedirectToPage error - specify root relative path error

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

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

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

使用RedirectToPage我收到以下错误:

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

知道如何指定该路径吗?

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

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

代替

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

注意"/BlogPosts/Edit""Edit"之间的区别。 RedirectToPage方法需要一个指向您的剃刀页面的路径(根据您的图像,相对路径是"/BlogPosts/Edit" )开始到根文件夹,默认情况下是Pages

注意:从 Razor Pages 2.0.0 开始,重定向到“兄弟”页面也同样有效 换句话说,如果您在/BlogPosts/View有一个页面,它可以使用RedirectToPage("Edit", new { id = blogId })重定向到/BlogPosts/Edit ,而无需指定根路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM