protected void DownloadFile_Click(object sender, EventArgs e)
        {
            FileInfo fi = GetFile();

            if (FileFilters.IsDownloadable(fi.Name))
            {
                Context.Response.AppendHeader("content-disposition", "attachment; filename=" + fi.Name);

                Context.Response.ContentType = Util.GetMapping(fi.Name);
                Context.Response.WriteFile(fi.FullName);
                Context.Response.End();
            }
        }
        private void SetFileDetails(FileInfo fi)
        {
            FileViews.SetActiveView(FileDetails);

            FileDetailsLastModified.Text = fi.LastWriteTime.ToLongDateString() + " " +
                                           fi.LastWriteTime.ToShortTimeString();
            if (FileFilters.IsLinkable(fi.Name))
            {
                FileDetailsName.Text        = fi.Name;
                FileDetailsName.NavigateUrl = "~/" + (Request.QueryString["path"] ?? "") + "/" + fi.Name;
            }
            else
            {
                FileDetailsName.Visible = false;
                FileDetailsText.Text    = fi.Name;
            }

            DownloadButton.Visible = FileFilters.IsDownloadable(fi.Name);
            EditButton.Visible     = FileFilters.IsEditable(fi.Name);
            DeleteButton.Visible   = FileFilters.IsDeletable(fi.Name);

            if (fi.Extension == ".dll")
            {
                Assembly assembly = Assembly.LoadFile(fi.FullName);
                FileDetailsAssemblyVersion.Text = assembly.GetName().Version.ToString();
            }
            else
            {
                assemblyLI.Visible = false;
            }

            if (FileFilters.IsVersionable(fi.Name))
            {
                FileDetailsRevision.Text = (VersionStore.CurrentVersion(fi) == 0 ? 1 : VersionStore.CurrentVersion(fi)).ToString();
            }
            else
            {
                FileDetailsRevision.Text = "n.a.";
                revsionLI.Visible        = false;
            }

            FileDetailsSize.Text = fi.Length.ToString("0,0") + " kB";
        }