【问题标题】:how to supply a value in redirectToAction to some other method using asp.net mvc?如何使用 asp.net mvc 将 redirectToAction 中的值提供给其他方法?
【发布时间】:2013-05-20 05:55:28
【问题描述】:

我想将 RedirectToAction() 中的值提供给其他方法。我的要求是这样的。我正在注册一个新用户。单击下一步按钮时,我必须注册新用户以及重定向到具有注册详细信息的其他页面。因此,在这里我必须在 RedirectToAction 中提供值以获取注册详细信息新页面。任何人都可以帮我这样做吗?

我的表格是这样的:-

新用户注册:- 电子邮件 密码

Next

因此,在单击下一步按钮时,我可以注册新用户,但无法提供值。我怎样才能做到这一点??任何帮助将不胜感激。

在下一个表单中,我必须获取那些注册详细信息。我可以获取它们,但我不能首先为该方法提供值。

【问题讨论】:

  • 你也可以使用Query String,如果同意使用,我会告诉你如何在MVC中使用Query String

标签: asp.net-mvc redirecttoaction


【解决方案1】:

您可以使用Query Stringlike 传递详细信息

return this.RedirectToAction
  ("Actionname", new { yourvalue = "querystringvalue" });

it Would return:
/controller/Actionname?value1=querystringvalue

我假设没有名为 yourvalue 的路由参数。

希望您理解并为您工作。

【讨论】:

    【解决方案2】:

    我认为最好的方法是使用 TempData。它在幕后使用会话来保存您需要的任何信息。请注意,一旦您读取数据,TempData 就会被清除。使用它的一个例子是:

    TempData["MyKey"] = WhateEverYouWantSaved;
    RedirectToAction ("Action","Controller");
    

    在您的操作方法中:

    Model m = TempData["MyKey"]; //Cast to Model type if need be
    

    它的优点是在 URL 中不包含您的数据,这意味着来回传输的数据更少,数据超过 URL 最大长度的可能性更小,如果您不希望用户看到数据,那就是几乎是您唯一的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      • 2012-02-25
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多