If you need to go to a file from your page, you may need to know the exact file path in order to access to it. In this case, you can use Server.MapPath method.
Server.MapPath method takes a path as a parameter and returns the physical path corresponding to the path.
For example, there is an xml file (database.xml) which stored a list of connection string is located in the C:\inetpub\wwwroot\webapplication1\database directory, and you need to get the connection string to connect to an appropriate database. The C:\inetpub\wwwroot directory is set as the web root directory.
The script uses the slash character to specify that the path returned should treated as a complete virtual path on the server and mapped from the root folder.
Below are some tricks on Server.MapPath method.
Server.MapPath method takes a path as a parameter and returns the physical path corresponding to the path.
For example, there is an xml file (database.xml) which stored a list of connection string is located in the C:\inetpub\wwwroot\webapplication1\database directory, and you need to get the connection string to connect to an appropriate database. The C:\inetpub\wwwroot directory is set as the web root directory.
The script uses the slash character to specify that the path returned should treated as a complete virtual path on the server and mapped from the root folder.
string path = Server.MapPath(“/webapplication1/database/database.xml”)This script will output as the following:
C:\inetpub\wwwroot\webapplication1\ database\database.xmlIf the passed parameter does not start with a slash character, it will map to its current directory, in this case will be C:\inetpub\wwwroot\webapplication1.
string path = Server.MapPath(“database/database.xml”)This will produce the same result.
Below are some tricks on Server.MapPath method.
' the current directory
currDir = Server.MapPath(".")
' the parent directory
parentDir = Server.MapPath("..")
' the application's root directory
rootDir = Server.MapPath("/")