protected void Button1_Click(object sender, System.EventArgs e)
        {
            ftp1.Server   = edtServer.Text;
            ftp1.Port     = StringUtils.StrToIntDef(edtPort.Text, 21);
            ftp1.UserName = edtUser.Text;
            ftp1.Password = edtPassword.Text;

            ftp1.Open();

            string dir = edtCurrentDir.Text;

            if (!StringUtils.IsEmpty(dir))
            {
                ftp1.ChangeCurrentDir(dir);
            }

            DataTable files = new DataTable();

            files.Columns.Add("filename");

            ftp1.DirectoryListing += delegate(object sender1, DirectoryListingEventArgs args) {
                DataRow row = files.NewRow();
                files.Rows.Add(row);

                if (args.FileInfo.IsDirectory)
                {
                    row["filename"] = "/" + args.FileInfo.FileName;
                }
                else
                {
                    row["filename"] = args.FileInfo.FileName;
                }
            };

            ftp1.GetDirectoryListing();

            DataGrid1.DataSource = files;
            DataGrid1.DataBind();

            ftp1.Close();
        }
 private void FillDirList()
 {
     lbList.Items.Clear();
     ftp1.GetDirectoryListing("");
     edtStartDir.Text = ftp1.CurrentDir;
 }