我在用

TempData["hdn"] = "1";

在 Controller 中

如果我用这个
 @{
      var hdn = (string)TempData["hdn"];
  }

在View中,TempData["hdn"]值在POST中为null。如果我在查看时跳过此代码,它将保留在POST中。为什么会这样呢?

最佳答案

读取之后,TempData值将被清除。

如果您希望在 View 中读取该值后又将其返回到 Controller 中,则需要将其包含在隐藏字段中,然后从表单值中将其读出。

就像是:

<input type="hidden" name="hdn" value="@hdn" />

然后,在您的 Controller 中,您可以执行以下操作:
var hdn = Request.Form["hdn"]

高温超导

关于asp.net-mvc-4 - 如果在 View 中使用,则TempData值不会持续存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18487150/

10-12 00:56