Microsoft KB Archive/811641

= PRB: Page.ResolveUrl Method Does Not Return Path in ASP.NET 1.1 =

Article ID: 811641

Article Last Modified on 5/12/2003

-

APPLIES TO


 * Microsoft ASP.NET 1.1

-





Beta Information
This article discusses a Beta release of a Microsoft product. The information in this article is provided as-is and is subject to change without notice.

No formal product support is available from Microsoft for this Beta product. For information about how to obtain support for a Beta release, see the documentation that is included with the Beta product files, or check the Web location from which you downloaded the release.



SYMPTOMS
When you specify a Web Page while calling the Page.ResolveUrl method, the ResolveUrl method does not return the relative path of the page. This problem occurs in ASP.NET version 1.1. However, this problem does not occur in ASP.NET version 1.0.



CAUSE
This problem occurs because the behavior of the ResolveUrl method of the Page class has been changed in Microsoft .NET Framework version 1.1 from the behavior in version 1.0.

Web Controls use the ResolveUrl method to resolve the URL. In ASP.NET version 1.1, when the RelativeUrl parameter contains an absolute URL, the ResolveUrl method returns the URL unchanged.



WORKAROUND
To work around this problem, use the Page.Server.MapPath property to retrieve the path of the Web page.



STATUS
This behavior is by design.



Steps to Reproduce the Behavior
 In Microsoft Visual Studio .NET 2003, create a new ASP.NET Web Application project by using Visual Basic .NET or Visual C# .NET. In Design view, double-click Form1 to view the code for the Page_Load event.  Add the following code to the Page_Load event:

Visual Basic .NET Sample Code Response.Write(Page.ResolveUrl(&quot;WebForm1.aspx&quot;)) Visual C# .NET Sample Code Response.Write(Page.ResolveUrl(&quot;WebForm1.aspx&quot;));  On the Debug menu, click Start to run the project. WebForm1.aspx appears without the path.</ol>

<div class="references_section">