webForumDet fria alternativet

Deleta en fil från en grid

.NET

2 svar · 270 visningar · startad av smyken

Medlem sedan feb. 200336 inlägg
Frågan#1

Hej
Håller på med ett projekt där användaren kan ladda upp filer via en datagrid. Jag tar filens namn från "upload"-funktionen och lägger filnamnet i en databas (xml-fil). Sen hämtar jag helt enkelt filnamnet till en "a href"-tagg i en datagrid. Det funkar fintfint.

Problemet är sen när användaren ska ta bort filen. Om denne trycker på datagridens "Delete"-knapp, tas ju bara filnamnet i databasen (xml-filen) bort. Själva filen blir kvar.

Kan jag från nedanstående "deletefunktion" hämta filnamnet så att jag kan använda "filedelete" på den rad i datagriden som användaren vill ta bort? Eller finns någon annan lösning månne?
Mvh
// Smyken

public void doDel(Object sender, DataGridCommandEventArgs e) {
    filnamn.EditItemIndex = -1;
    DataSet ds = CDCFilUrl();
    DataRow row = ds.Tables[0].Rows[e.Item.ItemIndex];
    row.Delete();
    ds.WriteXml(Server.MapPath("xmldb/mediefiler/filurl.xml"));
    filnamn.DataSource = CDCFilUrl();
    filnamn.DataBind();
Medlem sedan jan. 2004501 inlägg
#2

Har inte tid att ta fram den den exakta lösningen. Du rör aldrig filen med din kod så att säga. Du måste använda filediterings redskapen som System.IO tillhandahåller.

Men du måste:
1. Ta ut filnamnet
2. Deleta filen med hjälp av funktionerna som finns i System.IO.
3. Ta bort delen från XML filen.

Hoppas det hjälpte lite i alla fall.

Medlem sedan feb. 200336 inlägg
#3

Hej Asmodie
Tack för svaret. Jag förstår precis vad du menar. Jag är med på att min "delete"-funktion inte rör själva filen.
Av de 3 punkterna du räknar upp så är det punkt 1 jag inte vet/kan och behöver hjälp med. Hur plockar jag ut filnamnet som motsvaras av den rad i griden som användaren vill ta bort?
Mvh
// Smyken

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)