webForumDet fria alternativet

Kopiera filer med IO

.NET

6 svar · 577 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Jagförsöker att kopiera en fil (där filnamnet syns i en listbox) till en annan map. PGA en krach i datorn så har jag förlorat alla mina koder så jag måste
fråga...

//till allmänna = savePath
 //från mig =userPath;

FileInfo file = new FileInfo(userPath + ListBox1.SelectedItem.ToString())
file.CopyTo(System.IO.Path.Combine(savePath, ListBox1.SelectedItem.Text), true);

Och felkoden

Objektreferensen har inte angetts till en instans av ett objekt.

Vad jag förstår så för jag inte medmig någonting ifrån ListBox1.
Är jag alldeles ute och cyklar??

Medlem sedan feb. 2005280 inlägg
#2
FileInfo file = new FileInfo(userPath + ListBox1.SelectedItem[B].Text[/B]);
Medlem sedan mars 20011 880 inlägg
#3

Jag har tydligen problem...

Lfel.Text =ListBox1.SelectedItem.Text

Error:
Objektreferensen har inte angetts till en instans av ett objekt.
(Nullreferens)
Jag får tydligen inte med mig någonting i från listboxen.
Den laddas så här:

public void fyllListboxar(ListBox listbox, string path)
    {//path=modermapp
        DirectoryInfo modermapp = new DirectoryInfo(path);
        FileInfo[] filer = modermapp.GetFiles();
        listbox.Items.Clear();
        foreach (FileInfo fil in filer)
        {
            listbox.Items.Add(fil.Name);
        }

    }

Den fungerar men skall jag bygga den annorlunda?

Medlem sedan mars 20011 880 inlägg
#4

Nu börjar det att bli mer och mer mysko

 Lfel.Text = "Listboxen " + ListBox1.SelectedIndex.ToString();

Jag har en 7-8 poster i listboxen men vilken jag än trycker på så skriver labelen ut
Listboxen -1.
Jag fattar inte detta...

Medlem sedan dec. 2005664 inlägg
#5

Det är inte så att koden för att bygga upp värdena i listboxen körs innan koden för att kopiera filen? Att du t ex i PageLoad binder upp din data igen.

Medlem sedan mars 20011 880 inlägg
#6

Jo koden för att fylla listboxen ligger i pageload
[REDIGERAT]
Tack för din fråga jag la koderna i if (!Page.IsPostBack) ock då sprang det igång.

Medlem sedan dec. 2005664 inlägg
#7

Då kommer din listbox alltid att byggs om vid varje postback. Lägg till

 if (!Page.IsPostback)
{
//fyller din listbox
}
264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)