根据候选人的回答,我对 ViewState 在 ASP.Net 应用程序中的功能感到困惑。根据候选人的说法,如果您有一个具有某个值的控件并且您更改了该值,则在回发时它将初始值以及更改后的值发送到服务器。因此,如果您继续更改值并提交,则将整个树发送到服务器。我尝试在线搜索,但无法获得有关相同的任何事实。
如果上面的描述令人困惑,这里有一个例子可以更清楚地说明声明:
- 我们有<asp:TextBox ID="txt1" runat="Server" Text="First Value"/>
- 页面加载后,我输入“第二值”txt1
并点击提交并再次加载相同的页面(因为我没有写任何逻辑点击事件)
- 现在我输入“第三值”txt1
并再次点击提交。
根据候选人第一次点击提交时,“第一个值”和“第二个值”都被发送到服务器,当页面加载之后,它会加密这两个值并将其放入 ViewState 中,所以当我点击提交时第二次,视图状态中的加密值(具有“第一值”和“第二值”)与“第三值”一起提交。
我不是工程背景,候选人曾经并声称这是大学教给他的。我只是想知道这些说法是否有道理。任何帮助表示赞赏。