回发时生命周期.NET ASPX页面

时间:2017-05-22 09:24:04

标签: c# asp.net

如果这是模糊的或过于笼统的道歉,我知道我们应该问特定的编程问题,但这是为了尝试理解回页在ASP.NET最初在页面上呈现时是如何工作的,而不是在回发上但是在这些回发后仍然出现在屏幕上。

详细信息:我有一个ASPX页面 - 在初始页面加载时,它会设置所有标签和控件以及包含缩略图的转发器。

我可以在设置所有组件时遵循代码,然后将呈现。

在回发时,如果值已更改(例如状态),页面将对数据库进行更新,然后重新初始化屏幕(调用init方法并将回发设置为false),再次设置所有内容(我认为目的是设置某些控件,如状态单选按钮,再次包括图像转发器(我认为这是浪费时间)。

我已经测试了跳过在状态更新(回发)上设置图像转发器等的代码,并且图像转发器在浏览器中显示正常 - 但是我不确定为什么 - ASP .NET是无状态的,所以在回发时,如果页面每次都不呈现页面上的所有组件,它们如何在回发之间保持不变?

我知道有一个原因,只是无法在Google中找到我的问题。服务器是否发回并更新浏览器与现有显示页面合并的内容?保留所有未更改的组件?

我需要知道这个的原因是,我有一个屏幕上有很多图像,我不想每次都设置它们,除非我不得不这样做。

1 个答案:

答案 0 :(得分:0)

这个链接 - 由史蒂夫提供(非常感谢) - 我正在寻找的东西深入了解ViewState - 依旧记得在我第一次说.NET时读到这一点 - 完全忘记了它,但这解释了它很完美!

了解ASP.NET ViewState https://msdn.microsoft.com/en-us/library/ms972976.aspx