dot*_*00b 14 viewstate asp.net-mvc webforms viewbag
Webforms中的ViewState和MVC中的ViewBag之间是否存在功能差异?它们似乎是"同一件事".并且可以以相同的方式使用.我问,因为MVC推广无状态Web而不是填充页面中的数据导致膨胀和性能降低.但似乎你也可以在MVC中做到这一点.他们所做的一切,似乎只是给它一个新名字.
Web窗体中的ViewState将表单数据序列化为表单中隐藏的加密字段,因此可以在回发上重新绑定数据.
ViewBag/ViewData是一个字典,您可以在其中"填充"数据.例如,您可以在Controller中添加它,然后在View中访问它.数据dynamic使得难以处理数据.ViewBag没有被发送到客户端,它是MVC(服务器管道)的一部分.
两者都应该避免.
ViewState,好吧,不使用它并找到变通方法.使用ViewModels应该避免使用ViewBag.
Viewstate与表单的内容一起回发到服务器,因此可以在回发时使用它中的值.只有在提供页面之后,Viewbag才会保留其中的值,然后从内存中删除ViewBag.因此,您可以使用ViewState在调用之间保持状态,但不能对ViewBag执行相同操作.
| 归档时间: |
|
| 查看次数: |
13087 次 |
| 最近记录: |