Jag försöker flytta mej uppåt i filsystemet, jag har följande kod:Flytta uppåt i filsystemet
<code>
protected void listCopyMoveDirs(string _path)
{
DirectoryInfo dir = new DirectoryInfo(_path);
FileInfo[] files = dir.GetFiles();
DirectoryInfo[] dirs = dir.GetDirectories();
dir.Refresh();
dlCopyMoveDirs.DataSource = dirs;
dlCopyMoveDirs.DataBind();
if (!User.IsInRole("admin"))
{
if (_path == Server.MapPath("userFiles/" + User.Identity.Name))
imCopyMoveDirsUp.Enabled = false;
else
imCopyMoveDirsUp.Enabled = true;
}
else
{
if (_path == Server.MapPath("/"))
imCopyMoveDirsUp.Enabled = false;
else
imCopyMoveDirsUp.Enabled = true;
}
}
protected void imCopyMoveDirsUp_Click(object sender, EventArgs e)
{
string path = ViewState["myEditPath"].ToString();
path = Path.Combine(path, "..");
path = Path.GetFullPath(path);
listCopyMoveDirs(path);
modEditFolder.Show();
lblMoveError.Text = path; // For testing...
}
</code>
Jag kan navigera mej ner hur långt som helst, men när jag vill upp igen så går det bara en nivå. Jag får ut rätt "path" jag skriver ut den i en label för att se det.
-------------------------------------EDIT---------------------------------
Jaghade ju missat att följa upp sökvägen i "listCopyMoveDirs", jag lad till dena rad ViewState["myEditPath"] = _path; så fungerar det fint.