【发布时间】:2017-05-22 09:24:03
【问题描述】:
抱歉,如果这含糊不清或过于笼统,我知道我们应该提出具体的编程问题,但这是为了尝试了解当最初在页面上呈现某些内容而不涉及回发时,回发在 ASP.NET 中是如何工作的,但在这些回发之后仍然出现在屏幕上。
详细信息:我有一个 ASPX 页面 - 在初始页面加载时,它会设置所有标签和控件以及一个带有缩略图的转发器。
我可以按照代码设置所有组件,然后将其渲染。
在回发时,如果某个值发生了变化(例如状态),则页面会更新数据库,然后重新初始化屏幕(调用 init 方法并将回发设置为 false),重新设置所有内容(我认为目的是为状态设置某些控件,例如单选按钮),再次包括图像中继器(我认为这是浪费时间)。
我已经测试在状态更新(回发)时跳过设置图像转发器等的代码,并且图像转发器在浏览器中显示正常 - 但我不知道为什么 - ASP .NET 是无状态的,所以在回发时,如果页面没有每次都呈现页面上的所有组件,它们如何在回发之间持续存在?
我知道这是有原因的,只是无法很好地在谷歌中找到我的问题以找到它。服务器是否发回并更新浏览器与现有显示页面合并的内容?保持所有未更改的组件不变?
我需要知道这一点的原因是,我的屏幕上有很多图像,我不想每次都设置它们,除非我必须这样做。
【问题讨论】:
-
这就是答案 - 了解 ASP.NET Viewstate - 这正是我想要的,谢谢!