C# 如何在传递模型的情况下重定向到操作?
我有一个模型类,用于验证一些用户输入 我有一个控制器,具有以下功能C# 如何在传递模型的情况下重定向到操作?,c#,asp.net,asp.net-mvc,asp.net-core,asp.net-core-mvc,C#,Asp.net,Asp.net Mvc,Asp.net Core,Asp.net Core Mvc,我有一个模型类,用于验证一些用户输入 我有一个控制器,具有以下功能 public IActionResult Checkout(GiftCard giftCard) { } public IActionResult Preview(GiftCard giftCard) { return RedirectToAction("Checkout", giftCard); } 我想知道我怎么能在一个不同的行动重定向它回到它,如 public IActionResult Preview(Gif
public IActionResult Checkout(GiftCard giftCard)
{
}
public IActionResult Preview(GiftCard giftCard)
{
return RedirectToAction("Checkout", giftCard);
}
我想知道我怎么能在一个不同的行动重定向它回到它,如
public IActionResult Preview(GiftCard giftCard)
{
return RedirectToAction("Checkout");
}
上面的方法不起作用,因为asp.net正在尝试在没有以下模型的情况下查找操作
public IActionResult Checkout()
{
}
如果您的url非常长,请制作一个短url,以便加载该url并从此处重定向,如果您使用ajax,则它将不可见如果您的url非常长,请制作一个短url,以便加载该url并从此处重定向,如果您使用ajax,它将不可见您可以使用另一个名称的操作,并将操作选择器应用于重命名的方法。像下一个:
[ActionName("Checkout")]
[HttpPost] //Recomend you send user input via post
[ValidateAntiForgeryToken] // and use validation token
public IActionResult CheckoutConfirmed(GiftCard giftCard)
{
//your code
}
public IActionResult Checkout()
{
//your code
}
- 查看更多关于
- 如果你需要更多的信息,你可以在那里找到-
- 此外,你还可以找到关于在那里发布的文章-
[ActionName("Checkout")]
[HttpPost] //Recomend you send user input via post
[ValidateAntiForgeryToken] // and use validation token
public IActionResult CheckoutConfirmed(GiftCard giftCard)
{
//your code
}
public IActionResult Checkout()
{
//your code
}
- 查看更多关于
- 如果你需要更多的信息,你可以在那里找到-
- 此外,你还可以找到关于在那里发布的文章-
重定向到操作
还有一个名为routeValues
的参数,您可以使用该参数传递GiftCard
,如下所示
public IActionResult Checkout(GiftCard giftCard)
{
}
public IActionResult Preview(GiftCard giftCard)
{
return RedirectToAction("Checkout", giftCard);
}
redirectoaction
还有一个名为routeValues
的参数,您可以使用该参数传递GiftCard
,如下所示
public IActionResult Checkout(GiftCard giftCard)
{
}
public IActionResult Preview(GiftCard giftCard)
{
return RedirectToAction("Checkout", giftCard);
}
您不能“隐藏”查询字符串值(如果不存在这些值,则不会将这些值传递给
Checkout()
方法。您应该持久化对象(例如,在数据库中)并传递其ID
值,以便可以在GET方法中再次检索该对象(一个选项是使用TempData
,但如果用户刷新浏览器,则会失败)您的示例是否已完成,因为我看不到您要执行的操作?为什么要从预览操作重定向到签出操作,而不是在razor视图中直接将模型发送到签出操作?您无法“隐藏”查询字符串值(如果不存在,则不会将值传递给Checkout()
方法。您应该持久化对象(例如在数据库中)并传递其ID
值,以便可以在GET方法中再次检索该对象(一个选项是使用TempData
,但如果用户刷新浏览器,则会失败)您的示例是否已完成,因为我看不到您要执行的操作?为什么要从预览操作重定向到签出操作,而不直接将您的模型发送到razor视图中的签出操作?