given a file structure as follows...
DirectoryA
-- SubDirA
-- SubDirB
DirectoryB
-- SubDirA
-- SubDirA1
-- SubDirB
If your page (lets say "Default.aspx") is in "DirectoryA/SubDirB" like so...
DirectoryA
-- SubDirA
-- SubDirB
-- Default.aspx
DirectoryB
-- SubDirA
-- SubDirA1
-- SubDirB
And you want to map the path to "DirectoryB/SubDirA/SubDirA1" then your code would be written from a relative perspective. E.g.
Server.MapPath("../../DirectoryB/SubDirA/SubDirA1/")
This string "../../DirectoryB/SubDirA/SubDirA1/" is broken down as follows.
"../" - From 'Default.aspx' go up one directory to "DirectoryA"
"../" - From 'DirectoryA' go up one directory to the root
"DirectoryB/" - From the root go into "DirectoryB"
"SubDirA/" - From 'DirectoryB' go into "SubDirA"
"SubDirA1/" - From 'SubDirA' go into 'SubDirA1'
And that pretty much is your server.MapPath explained. It simply requires a path relative to your current executing page. The error your receiving will probably be due to the fact your relative path does not exist.