页面回发处理和Page对象
传统的ASP.NET使用控件+事件的方式进行页面数据的处理。
在asp.net webform中,有一个叫做viewState的隐藏域,这个域中存放了控件的控件状态。
当向服务器发起请求的时候,服务器内部处理时正常情况下,只接受,你所传递的参数,而控件本身的状态(它本身所具备的值)是不会被记录在服务器中一起返回回来。
但在asp.net webform,每一个页面点击“查看源代码”时,都会发现:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><Meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>
</title></head>
<body>
<form method="post" action="./1.Default.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE5NjMzNzg4NjhkZNHGzRMCdnoeo/ovkey+cnGHulwBKc7QSObjXpJXQSF0" />
</div>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="34485515" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAAQrWBisWRmsreayjSPRDQ1WaO7wr2bGy5Svy1k6RcgCWXLf/AkcfeW8F92naHLDqr2H2DKswHkHuPcm2TnMIabbL5mkk+fTzvu13EOyAGj6z32edD+OHuaa23aigf450wc=" />
</div>
<div>
<input name="txtNum1" type="text" id="txtNum1" /> <br />
<input type="submit" name="btncopy" value="copy" id="btncopy" /><br />
<input name="txtNum2" type="text" id="txtNum2" /> <br />
</div>
</form>
</body>
</html>
源码中多出了许多的被隐藏掉的域,而这个域(ViewState)正是控件发起请求前控件中所具备的值得以保留的原因。
带来方便的同时,也产生了很多问题。
页面回发问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。