在Acumatica的扫描和接收屏幕中,ApplyState方法是用来将当前屏幕状态保存到ViewState中的。它在屏幕加载时调用,并在每次页面回发时都会被调用。
以下是一个简单的示例,说明如何在扫描和接收屏幕中实现ApplyState方法:
在需要保留状态的控件上设置EnableViewState属性为true,如下所示:
在代码中重写ApplyState方法,以便在页面回发时将控件状态保存到ViewState中:
protected override void ApplyState(object state) { // Call the base implementation first base.ApplyState(state);
// Save the state of the edOrderNbr control
edOrderNbr.SaveViewState();
}
当页面回发时,ASP.NET将自动从ViewState中恢复保存的状态。
重写Load方法,以便在页面加载时从ViewState中恢复控件状态:
protected override void LoadViewState(object savedState) { // Call the base implementation first base.LoadViewState(savedState);
// Restore the state of the edOrderNbr control
edOrderNbr.LoadViewState();
}
这样,页面中的控件状态就可以在回发和重载后正确地保存和恢复了。