1
我通過從文件夾中獲取圖像來顯示DataList中的一些圖像。現在,我想在我的Datalist中單擊「刪除」按鈕時刪除文件夾中的圖像。使用數據列表從文件夾中刪除圖像
我的問題是,我無法從中獲取文件名:
string fileName = e.CommandArgument.ToString();
我嘗試了幾種解決方案,但沒有得到正確的解決方案。
HTML標記:
<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>
代碼隱藏:
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();
}
是'使用Server.Mappath(文件名)'返回正確路徑?你也獲得任何權限例外嗎? –