例如有以下代码,页面加载后,我将textbox的值修改,例如改成"aaa",
我点击button,postback后这个textbox的text是在页面加载的什么事件中通过什么得到的aaa呢.
<form id="form1" runat="server">
<asp:textbox Runat="server" ID="isText" Text="sss"></asp:textbox>
<asp:Button id="btn" runat="server" Text="Click Me" />
</form>
我点击button,postback后这个textbox的text是在页面加载的什么事件中通过什么得到的aaa呢.
<form id="form1" runat="server">
<asp:textbox Runat="server" ID="isText" Text="sss"></asp:textbox>
<asp:Button id="btn" runat="server" Text="Click Me" />
</form>
ViewState保存的.他获取Hide字段的直
即使你EnableViewState=False一样可以保留值。
另外"默认的是post方法而且是post到原页面的。"是在页面加载到什么阶段才得到这个修改后的值的呢看页面对象模型看的都晕了.
这就是其中一个应用了。
在比如以前asp提交后显示提交的信息,怎么办呢,如果通过querystring方法,很多数据多麻烦啊,由于没有状态,所以就只有在去数据库select一次回来,有了viewstate后,就不用做任何工作,显示提交的信息就直接从viewstate取出了
这也是其中一个应用了
总的来说就是保存状态了另外"默认的是post方法而且是post到原页面的。"是在页面加载到什么阶段才得到这个修改后的值的呢
如果正进行回送操作,那么页面和控件的viewstate随后就恢复,恢复后系统就激发page_load事件,通过判断ispostback事件,如果是往返执行的结果,就让viewstate恢复控件的状态
表单控件(TextBox, CheckBox, DropDownList, ListBox,....) 的输入值或被选状态与ViewState无关,而是在Load Postback Data阶段被设置的,因为它们都实现了IPostBackDataHandler接口。
这是我刚刚在思归那里看到的这句话.
如果这句话是正确的话,表单控件(TextBox, CheckBox, DropDownList, ListBox,....) 的viewstate岂不是没用了吗.
控件都是从Control或WebControl继承的,其中WebControl实现了IAttributeAccessor,每个控件都有自己的ViewState,Page类负责通过IAttributeAccessor.Set/GetAttribute来收集和分配视图值