Export (0) Print
Expand All

ViewStateException.Path Property

Gets the path of the HTTP request that resulted in a view-state exception.

Namespace:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)

public string Path { get; }

Property Value

Type: System.String
A String containing the path from the request.

This property returns the same value as the PATH_INFO variable in the ServerVariables property. It returns the portion of the path after the host name. For example, in the URL http://www.contoso.com/virdir/page.html, Path would return /virdir/page.html.

The following code example demonstrates how to implement a method that deserializes a base64-encoded string and returns an ICollection collection of property settings. The Deserialize method can throw an HttpException exception that contains a ViewStateException object as an inner exception. The example shows how you can catch an HttpException exception and retrieve the properties from the ViewStateException object.

private ICollection LoadControlProperties(string serializedProperties)
{

    ICollection controlProperties = null;

    // Create an ObjectStateFormatter to deserialize the properties.
    ObjectStateFormatter formatter = new ObjectStateFormatter();

    try
    {
        // Call the Deserialize method.
        controlProperties = (ArrayList)formatter.Deserialize(serializedProperties);
    }
    catch (HttpException e)
    {
        ViewStateException vse = (ViewStateException)e.InnerException;
        String logMessage;

        logMessage = "ViewStateException. Path: " + vse.Path + Environment.NewLine;
        logMessage += "PersistedState: " + vse.PersistedState + Environment.NewLine;
        logMessage += "Referer: " + vse.Referer + Environment.NewLine;
        logMessage += "UserAgent: " + vse.UserAgent + Environment.NewLine;

        LogEvent(logMessage);

        if (vse.IsConnected)
        {
            HttpContext.Current.Response.Redirect("ErrorPage.aspx");
        }
        else
        {
            throw e;
        }
    }
    return controlProperties;
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0
Show:
© 2015 Microsoft