我正在尝试从TempData中提取视图中的id并将其放在Html.Hidden中。当我通过Debug查看TempData的信息时,它会显示所有值,但Html.Hidden会为我的id返回一个空值。
@Html.Hidden("idMatch", @TempData["leMatch,idMatch"])
我错过了什么?
答案 0 :(得分:1)
@
之前您不需要TempData
。
@Html.Hidden("idMatch", TempData["leMatch,idMatch"])
编辑:即使@
前面的TempData
,它也不会显示任何错误,它会正确呈现隐藏元素。
TempData的生命周期很短,您只应在当前和后续请求期间使用它。 Session
对象是TempData
对象的后备存储,它比常规会话更快地被销毁,即紧接在后续请求之后。
我猜你的TempData
在你的情况下变空了。这就是它在隐藏字段中呈现为空值的原因。
我强烈建议您使用强类型 ViewModels 而不是 magical
(动态类型) TempData/Viewdata
。您可以使用HiddenFor
HTML帮助程序方法
@model CustomerViewModel
@using(Html.BeginForm()){
@Html.HiddenFor(x => x.CustomerID)
}