Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Persist Variable on Postback

Tags:

I created a single page (with code behind .vb) and created Public intFileID As Integer

in the Page load I check for the querystring and assign it if available or set intFileID = 0.

Public intFileID As Integer = 0  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load     If Not Page.IsPostBack Then         If Not Request.QueryString("fileid") Is Nothing Then             intFileID = CInt(Request.QueryString("fileid"))         End If          If intFileID > 0 Then             GetFile(intFileID)         End If     End If End Sub  Private Sub GetFile()     'uses intFileID to retrieve the specific record from database and set's the various textbox.text End Sub 

There is a click event for the Submit button that inserts or updates a record based on the value of the intFileID variable. I need to be able to persist that value on postback for it all to work.

The page simply inserts or updates a record in a SQL database. I'm not using a gridview,formview,detailsview, or any other rad type object which persists the key value by itself and I don't want to use any of them.

How can I persist the value set in intFileID without creating something in the HTML which could possibly be changed.

[EDIT] Changed Page_Load to use ViewState to persist the intFileID value

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load     If Not Page.IsPostBack Then         If Not Request.QueryString("fileid") Is Nothing Then             intFileID = CInt(Request.QueryString("fileid"))         End If          If intFileID > 0 Then             GetFile(intFileID)         End If          ViewState("intFileID") = intFileID     Else         intFileID = ViewState("intFileID")     End If End Sub 
like image 504
Brian Boatright Avatar asked Oct 21 '08 18:10

Brian Boatright


People also ask

How to maintain variable value during PostBack in ASP net?

if your variable is serializable, and you can live with the client reading its value, and it should only live during the postbacks sequence in the scope of the page => you should use ViewState. Show activity on this post.

Which variables are used to preserve the data across the page postback?

Session is the better choice as it will persist the value for the session where as view state will persist from POST to POST i.e. every time there is post back the value of the variable will be set according to the value in the state.

What is ViewState used for?

View state is used automatically by the ASP.NET page framework to persist information that must be preserved between postbacks. This information includes any non-default values of controls. You can also use view state to store application data that is specific to a page.


1 Answers

As others have pointed out, you can store it in the Session or the ViewState. If it's page specific, I like to store it in the ViewState as opposed to the Session, but I don't know if one method is generally preferred over the other.

In VB, you would store an item in the ViewState like:

ViewState(key) = value 

And retrieve it like:

value = ViewState(key) 
like image 104
jerhinesmith Avatar answered Oct 27 '22 10:10

jerhinesmith