473,396 Members | 1,861 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Q: Questions about ViewState versus Session.

Sky
Although I've been using C# for the last month or so, and accepting out of
blind faith the ViewState, I do have some nagging questions about it... can
you help verify the following statements?

Application is across all sessions.
Session is across all pages.
ViewState is sort of like Session, but for only one page. <-- Correct
statement?

Session is stored between page requests, somewhere in mem or IIS files --
but can be rerouted to DB.
ViewState is sent to Client and returned on every post <-- Correct
statement?

If you load a DataSet.Table of 10 columns, 10 rows, and Bind it to a
DataGrid
you are sending to the Client 10x10 html cells of a table -- PLUS in the
ViewState 10x10 values encrypted. <--Correct statement?

If you load a DataSet.Table of 10 columns, 10 rows, and Bind it to a
DataGrid
but hide 7 columns you are sending to the Client 3x10 html cells of a
table -- PLUS in the ViewState 10x10 values encrypted. <--Correct statement?

Therefore, if you load a DataTable with 10 columns, 1000 rows, Bind it to a
DataGrid, but put Paging on 10 per page...
I am sending 10x10 html cells to the client -- PLUS 10x1000 cells in the
ViewState?????
If I DataBind a DataTable to a grid on page_load, I don't have to rebind it
again until I update the database, and have to repick up the new DataSet <-
Correct?
Any other comments you may have as to what it is, and "how to think of it"?

Thank you so much,
Sky


Nov 18 '05 #1
1 1689
Hi,

first off you might want to take a look at this article:

ViewState: All You Wanted To Know
http://aspalliance.com/135

Well,

-ViewState is page-specific
-By default ViewState is roundtripped to the client, but can also be stored
on custom stores like Session or database
-ViewState contains the values that aren't carried along with the request
normally, yes, helping with control persistence over postbacks (only the
values, not controls themselves)
-Yes, ViewState is kept even if control wouldn't be rendered (occasionally
hidden control can keep its state as long as it is along with the controls
collection between the subsequent requests by the same client)
-As far as I know, persisting the state (like with DataGrid) is all or
nothing. This is though a place for custom paging solution when you don't
need to bind that much records, but data store handles the paging not the
grid from all the data. E.g one page at a time is bound to the grid and
stored to ViewState (ViewState isn't for the paging in this case actually
but to keep the grid if some other controls causes a postback and grid isn't
databound on all request, as it shouldn't be)
-Yes, thanks to ViewState you need only to rebind the controls when logic
requires to.

--
Teemu Keiski
MCP, Microsoft MVP (ASP.NET), AspInsiders member
ASP.NET Forum Moderator, AspAlliance Columnist


"Sky" <ne********@nospam.xact-solutions.com> wrote in message
news:uu**************@tk2msftngp13.phx.gbl...
Although I've been using C# for the last month or so, and accepting out of
blind faith the ViewState, I do have some nagging questions about it... can
you help verify the following statements?

Application is across all sessions.
Session is across all pages.
ViewState is sort of like Session, but for only one page. <-- Correct
statement?

Session is stored between page requests, somewhere in mem or IIS files --
but can be rerouted to DB.
ViewState is sent to Client and returned on every post <-- Correct
statement?

If you load a DataSet.Table of 10 columns, 10 rows, and Bind it to a
DataGrid
you are sending to the Client 10x10 html cells of a table -- PLUS in the
ViewState 10x10 values encrypted. <--Correct statement?

If you load a DataSet.Table of 10 columns, 10 rows, and Bind it to a
DataGrid
but hide 7 columns you are sending to the Client 3x10 html cells of a
table -- PLUS in the ViewState 10x10 values encrypted. <--Correct statement?

Therefore, if you load a DataTable with 10 columns, 1000 rows, Bind it to a
DataGrid, but put Paging on 10 per page...
I am sending 10x10 html cells to the client -- PLUS 10x1000 cells in the
ViewState?????
If I DataBind a DataTable to a grid on page_load, I don't have to rebind it
again until I update the database, and have to repick up the new DataSet <-
Correct?
Any other comments you may have as to what it is, and "how to think of it"?

Thank you so much,
Sky

Nov 18 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: neo | last post by:
hi, I am studying ASP.NET and have few questions - 1) The session ID and values of controls is stored in VIEWSTATE variable. So now when we put EnableViewState="false" in Page directive and...
1
by: Ralph Soons | last post by:
Hi all, I am trying to save the viewstate in a session instead of storing it in a hidden of the webpage which is default. This because of performance reasons. When I use line 2 in combination...
6
by: clsmith66 | last post by:
Is it possible to store the same information about a control that would be saved in the ViewState in a Session state? I have a page with three treeview controls and if I enable the view state for...
7
by: et | last post by:
I'm not sure I understand the use of the ViewState. Do I understand correctly that values of controls are automatically held in a hidden control called ViewState? If so, then why can't we get...
3
by: MattC | last post by:
With respect to Peter Bromberg's article ( http://www.eggheadcafe.com/articles/20040613.asp ) I wish to store my viewstate info in the Session object rather than the cache (as it is per user...
3
by: RCS | last post by:
I have an app that I have different "sections" that I want to switch back and forth from, all while having the server maintain viewstate for each page. In other words, when I am on Page1.aspx and...
6
by: mosscliffe | last post by:
I am testing for how/when a page is posted back and I decided to use a ViewState variable in PageLoad to set up a counter, but it appears, the ViewState is cleared on each PageLoad. So then I used...
3
by: Trust Me; I'm from the government | last post by:
I have an employee class - in my page, when it loads, it gets all the employee data, including the employee Number. I have Dim emp As New Employee (at the top of the page, so it's global to the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.