我有一个创建TempData对象的ActionMethod
TempData["Message"] = new Message {Text = txtMessage, Success = false};
然后我在视图中读取TempData,如
@{var message = TempData["Message"];}
但是当我尝试使用var" message.Success"编译器不识别该属性。当我在调试期间观察var消息和TempData时,我可以看到Object的txtMessage和Success值。我错过了什么?
答案 0 :(得分:3)
尝试
@{dynamic message = TempData["Message"];}
或
@{Message message = TempData["Message"] as Message;}
或者,如果你知道它只会是一个消息
@{Message message = (Message)TempData["Message"];}
答案 1 :(得分:1)
我不相信TempData
是动态类型的,所以你需要强制转换它。但是,对于匿名类型,您不能这样做。您需要将匿名类型转换为实际类。
如果您不想这样做,您可以使用ViewBag
来代替,这是动态输入的。