如何在视图中保留值

时间:2010-03-15 15:31:37

标签: c# .net asp.net-mvc

全新的asp.net mvc ...对于网络应用来说是全新的,所以请耐心等待......

假设我在一个需要特定信息的控制器上有一个Action,比如一个int Id值。

从此Action渲染视图。此视图包含一个按钮,该按钮将用户关闭另一个Controller上的新Action。

在第二个Action的视图中,有一个链接将它们发送回Controller上的原始Action。显然,我已经丢失了原始的Id值,因此我需要渲染原始视图所需的信息。我需要考虑什么才能解决这个问题?是否有可用于帮助的技术/模式?

我知道我可以继续传递值,但如果其他控制器实际上不需要这个值,那么它似乎很浪费。老实说,我认为我可能以错误的方式解决问题。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

  

我知道我可以继续传递价值   周围,​​但如果另一个控制器   实际上并不需要这个值   似乎很浪费。

但是第二个控制器 需要id才能正常运行 - 正如你所说,它需要id来呈现返回链接。传递它是正确的事情。

答案 1 :(得分:0)

有很多方法可以实现这一目标。其中一些是:

  • 您可以将值保留在Query String
  • 如果通过发布表单从Action-1导航到Action-2,则可以使用隐藏的输入标记发送值。例如:<input type="hidden" name="n" value="v" />
  • 您可以使用TempData在两个请求之间保留信息(虽然看起来这不是一个很好的解决方案)

不知道你究竟想做什么,很难知道最佳解决方案。