【问题标题】:Dynamic TempData in ASP.NET MVC 3ASP.NET MVC 3 中的动态 TempData
【发布时间】:2010-11-24 07:55:35
【问题描述】:

我一直试图让一个使用 ASP.NET MVC 3 运行的站点,我遇到了新的动态 ViewModel。在不使用“魔术字符串”的情况下将值快速传递给视图非常棒。我想知道 TempData 是否有类似的东西在 RedirectToAction 之后保持它的值。

谢谢。

【问题讨论】:

    标签: viewmodel asp.net-mvc-3 tempdata


    【解决方案1】:

    TempData 在 MVC 3 中不是动态的(只要我能说出来),例如此语法无法编译:

    TempData.Account = "Geronimo"
    

    因为Account 属性/字段在类型上不存在。

    ViewBag 是动态的

    ViewBag.Acount = "Geronimo" 
    

    编译。

    【讨论】:

      【解决方案2】:

      您可以启用 Web 表单中使用的会话状态,并根据需要使用它来存储数据,这是您感兴趣的东西吗?只需谷歌“asp.net mvc 中的会话状态”

      当你这样做时......

      TempData("test") = "酷字符串"

      您可以稍后使用 tempdata.test 访问(尽管他们不确定是否会将其保留为 tempdata 或更改它)。

      【讨论】:

      • 我知道我可以使用会话。但是 TempData 的好处是它在请求后会自动销毁。我想知道是否有与新的动态 ViewModel 类似但针对 TempData 的东西。
      • TempData 现在是动态的,据我所知,它的工作方式与动态视图模型大致相同。如果可以的话,最好在视图模型中存储 thhings,因此,除了在执行示例 mvc 代码或观看 mvc 辅导视频时,我永远不会使用临时数据,因为他们总是在示例中使用临时数据
      • 无论 TempData 存储在何处,请记住,在读出值后,它会立即被删除。这样做 var x = TempData["test"] 意味着任何后续请求都会丢失该值。
      猜你喜欢
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      相关资源
      最近更新 更多