Pet*_*ron 13 asp.net-mvc viewdata httpcontext
HttpContext.Current.Items[...]vs存储数据ViewData[...]?我试图弄清楚在这个集合中存储数据的最佳实践,我不确定是否可以安全地存储用户特定的数据HttpContext.Current.Items.
一个用例是从基础控制器传递用户信用OnActionExecuting(...)以用于Controller计算和显示Views; 我知道我应该使用ViewData这个,但是我对嵌套的部分视图有一些不一致的结果.
难道是正确的说,HttpContext.Current.Items[...]就是Controllers喜欢ViewData[...]就是意见?
wom*_*omp 21
HttpContext.Current.Items 只持续请求的持续时间,但它对该请求中的所有内容都是全局的.
会话显然持续整个用户的会话,并在请求之间持续存在.
您应该能够根据这些标准找出您需要使用哪一个.使用HttpContext.Current.Items不是我推荐的,因为它往往是一种"全局变量",魔术键字符串往往会涉及,但有时你确实需要使用它.
此外,尽管.Items和ViewData之间的比较非常简单,但.Items与ViewData的行为方式不同,因为请求中涉及的每个View(部分或其他)都获得了自己的ViewData副本.
当您执行RenderPartial并尝试向ViewData添加内容时,行为差异很明显- 当您返回到父视图时,该项目不存在.
| 归档时间: |
|
| 查看次数: |
8401 次 |
| 最近记录: |