Razor页面跨文件夹跳转问题:如何正确重定向并传参
Razor页面跨文件夹跳转的正确写法
要实现从Application/setupAccount页面跳转到Loan/setupLoan页面并传递动态参数,你需要指定目标页面的根路径或相对路径,而不是仅写页面名称,具体两种写法如下:
根路径写法(推荐):
在RedirectToPage方法中,以斜杠/开头指定完整的文件夹+页面名称,这样Razor会从网站根目录开始定位页面,不会受当前文件夹影响。
代码示例:return RedirectToPage("/Loan/setupLoan", new { id = 123 });生成的URL为
https://localhost:7154/Loan/setupLoan?id=123,完全匹配需求。相对路径写法:
如果不想用根路径,可以使用相对路径跳出当前Application文件夹,再指向Loan文件夹。用../表示上一级目录,代码示例:return RedirectToPage("../Loan/setupLoan", new { id = 123 });这种写法同样能完成跳转,但如果后续文件夹层级调整,需要同步修改路径,灵活性不如根路径写法。
原写法RedirectToPage("setupLoan", new{id=123})出错的原因是:当仅传入页面名称时,Razor页面默认会在当前页面所在的Application文件夹下查找目标页面,因此生成了错误的Application/setupLoan路径。
内容的提问来源于stack exchange,提问作者Harendrra
相关产品推荐
相关产品推荐

