c# - 从另一个网站导航时 RedirectToAction 不起作用
问题描述
我正在开发一个带有 PayPal 集成的 asp.net 核心 MVC 项目。完成付款后,PayPal 正确重定向到成功 URL (.../PayPal/PaymentSuccess)。请看下面给出的方法:
贝宝控制器
public class PayPalController
{
public IActionResult PaymentSuccess()
{
//code for business logic here
TempData["Amount"] = amount;
return RedirectToAction("PaymentCompleted", "Home");
}
}
家庭控制器
public class HomeController
{
public IActionResult PaymentCompleted()
{
var amount = Convert.ToDecimal(TempData["Amount"]);
//code for business logic here
return View();
}
}
我曾尝试在托管环境中使用 PayPal 付款。完成付款后,PayPal 成功调用了该PaymentSuccess()
方法。在这个方法中,我们添加了数据库更新的业务逻辑。在此之后,我们需要重定向到另一个页面"PaymentCompleted"
以显示付款成功消息。
HomeController
问题是成功执行 PaymentSuccess 方法中的代码后,重定向到另一个控制器 ( ) 中的视图页面“PaymentCompleted”不起作用。
但是,我尝试PaymentSuccess()
直接在浏览器中调用该方法,现在重定向工作正常。
编辑:我使用了一种'TempData'
方法'PaymentSuccess()'
来传递支付金额以显示在'PaymentCompleted'
视图页面上。
为什么会这样?任何人都可以指定这个问题背后的原因吗?
任何帮助都是不言而喻的。谢谢你!
解决方案
我之前也和你的问题一样。
代码处理业务逻辑的问题是exception
代码运行无法到达RedirectToAction
您可以添加try/catch
处理异常,并记录信息以查看详细信息
推荐阅读
- python - 如何使用二进制掩码和 STFT 生成音频文件?
- powershell - 在 Pi3 上进行 Windows IOT 远程处理时随机“拒绝访问”
- java - 盒装与原始类型作为实体 id
- linux - 如何从 Linux 中的文件运行 Bash 'export' 命令?
- javascript - 我似乎无法让我的按钮在我的登录屏幕上提交信息
- hibernate - JPA @OneToMany & @ManyToOne 空
- three.js - 将人体 .obj 分割成碎片
- android - 如何将“微调器”放在按钮顶部
- email - SPF 永久错误:DNS 查找过多
- python - 如何放大cartopy