Ich zeige einige Bilder in einer DataList an, indem ich die Bilder aus dem Ordner abrufe. Jetzt möchte ich das Bild im Ordner löschen, wenn ich in meinem Datalist auf die Schaltfläche Löschen klicke.Bild aus Ordner mit Datenliste löschen
Mein Problem ist, dass ich die Dateinamen nicht in der Lage bin zu bekommen aus: mehrere Lösungen, aber habe nicht die richtige Lösung
string fileName = e.CommandArgument.ToString();
ich versuchte.
HTML-Markup:
<asp:DataList OnDeleteCommand="gvImages_DeleteCommand" ID="gvImages" RepeatColumns="5"
RepeatDirection="Horizontal" GridLines="Horizontal" runat="server"
BorderColor="#336699" BorderStyle="Solid" ShowHeader="true">
<ItemTemplate>
<center>
<table>
<tr>
<td style="width: 90px; height: 90px">
<img id="PICID" runat="server" src='<%# Container.DataItem %>' alt=''
style="height: 100px; width: 100px;" /><br />
<asp:Button ID="Delete" Height="22px" CommandName="Delete"
Width="100px" runat="server" Text="Delete Picture" /><br />
</td>
</tr>
</table>
</center>
</ItemTemplate>
</asp:DataList>
-Code-behind:
protected void gvImages_DeleteCommand(object source, DataListCommandEventArgs e)
{
//you can hold filename on Button's CommandArgument
string fileName = e.CommandArgument.ToString();
// here i can not get the file name to delete it from the folder
File.Delete(Server.MapPath(fileName));
FileInfo fInfo;
fInfo = new FileInfo(fileName);
fInfo.Delete();
gvImages.DataBind();
}
Ist 'Server.MapPath (Dateiname)' Rückkehr den richtigen Weg? Erhalten Sie auch irgendwelche Erlaubnisausnahmen? –