Don’t preserve viewstate when doing a Server.Transfer

The ASP.NET version of the Server.Transfer method accepts a second argument which, if true, causes the query string and all the form’s fields to be transferred and made available to the destination page. However, when the destination page executes, the following error is likely to be generated:

The View State is invalid for this page and might be corrupted 

The reason for this error is that the EnableViewStateMac attribute of the element of Web.config is set to true by default. This causes a message authentication check (MAC) on the view state of the page being posted back. The view state is held in the __VIEWSTATE hidden field, and the MAC fails because the MAC only checks each page. In other words, the view state of the page where Server.Transfer is called isn’t valid on the destination page. This problem is discussed more estensively on the KB article mentioned at the bottom of this page.

You avoid this problem by not passing True as the second argument of the Server.Transfer method. However, you must devise alternative ways to make the query string and controls’ values of the source page available to the destination page, if these values must be processed by the destination page. There are two ways to achive this. The easiest way is to make all controls on the source page public, as in:

Public Class WebForm1    Public WithEvents txtUserName As System.Web.UI.WebControls.TextBox    ' ...End Class

A safer way is to wrap these control’s values in properties:

Public Class WebForm1    Private WithEvents txtUserName As System.Web.UI.WebControls.TextBox    ' ...    ReadOnly Property UserName() As String        Get            Return Me.txtUserName.Text        End Get    End PropertyEnd Class

In both cases you can then access the actual value from the destination page as follows:

' inside the destination pageDim sourcePage As WebPage1 = DirectCast(Context.Handler, WebForm1)Dim userName As String = sourcePage.UserName

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

iOS app development

The Future of iOS App Development: Trends to Watch

When it launched in 2008, the Apple App Store only had 500 apps available. By the first quarter of 2022, the store had about 2.18 million iOS-exclusive apps. Average monthly app releases for the platform reached 34,000 in the first half of 2022, indicating rapid growth in iOS app development.

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a