这个ASP观点是什么意思?

时间:2011-05-15 23:03:23

标签: asp.net screen-scraping web-scraping

我正在抓一个asp.net网络表单,它总是发送这样的视图状态:

<input type="hidden" name="__VIEWSTATE" value="/wEXAQUDX19QDwUNZnJtQ291cnNlSW5mbw8GblQKzmHhzYgCAw==">

当我在View State decoder中解码时,我得到了这个对象:System.Collections.Hashtable

__VIEWSTATE的精确值会有所不同,但它会解码为对象System.Collections.Hashtable

这里发生了什么?为什么viewstate值会有所不同,但总是要解码?

1 个答案:

答案 0 :(得分:1)

Page是无状态的,因此在每次回发后,它都不知道之前发生了什么。经常使用ViewState以便在回发之间保留信息。例如,如果您选择了一个选项并创建了回发,则该站点可能会将您的选项存储在ViewState中,以便在回发后仍然选择您的选项。

您所看到的是ViewState存储有关当前在网站上呈现哪些控件的信息(在本例中为Hashtable)。存储在表中的值可能会有所不同,但回发之间似乎存在控件。

您可以在MSDN上了解有关ViewStates的更多信息以及如何/何时使用它们here