On Fri, Apr 10, 2009 at 10:04 PM, ARUN KUMAR <[email protected]> wrote:
> I alter your code :
>
> public partial class _default : System.Web.UI.Page
>    {
>
>       Employee emp;
>
>        protected void Page_Load(object sender, EventArgs e)
>        {
>            if (!Page.IsPostBack)
>            {
>
>                emp = new Employee ().GetEmployee();
>                viewstate("Emp")=emp;  // Load to viewstate
>            }
>           else
>                emp=viewstate("Emp");  // retrive from viewstate
>        }
>
>        protected void btn_confirm_Click(object sender, EventArgs e)
>        {
>
>                emp.FirstName = "something";
>                emp.LastName = "something";
>
>          }
>    }

ViewState ABUSE!!!

ViewState should be used for controls, not as an alternative to a
session variable.

I have seen too many corp. apps that use ViewState as Session and you
end up with
pages that are 200K+.

ViewState gets sent with every request.  So sticking something in
ViewState sends
it to the client and then the client sends it back, for every darn request.

Use a Session if you want to save something that is not for a Control state.

With a Session you only send a session id.

I did this one contract for the govt. where they paid a boat-load of
money for some
consulting companies "framwork".  This "framework" put freaking everything in
ViewState.  Page sizes were always 500K+.  I was brought on to "optimize" the
app.  I basically had to go through the whole dang "framework" and just change
everything from ViewState to Session.  Bang, ShamWow.  Much faster.  WAY faster
over the VPN, and much higher concurrent user numbers.

Don't abuse ViewState.  Don't use it if you didn't make a custom control.

Reply via email to