C# 从服务器删除图像
我正在编写一个代码,在Listview中选择图像并将其从服务器中删除。不幸的是,我无法删除任何图像,调试期间也没有错误。代码如下:C# 从服务器删除图像,c#,asp.net,listview,checkbox,C#,Asp.net,Listview,Checkbox,我正在编写一个代码,在Listview中选择图像并将其从服务器中删除。不幸的是,我无法删除任何图像,调试期间也没有错误。代码如下: <asp:ListView ID="ListView2" runat="server" DataKeyNames="ID_BG" DataSourceID="SqlDataSource_BGdelete"> <ItemTemplate> <label><input id="checkb
<asp:ListView ID="ListView2" runat="server" DataKeyNames="ID_BG" DataSourceID="SqlDataSource_BGdelete">
<ItemTemplate>
<label><input id="checkbox1" name="BG_list" type="checkbox" runat="server" value='<%# Eval("BG_fileName") %>'/>
<img alt="" style="width:150px" src="/Members/images/BG/icons/<%# Eval("BG_fileName") %>"></label>
</ItemTemplate>
<LayoutTemplate>
<div id="itemPlaceholderContainer" runat="server" style="">
<span runat="server" id="itemPlaceholder" />
</div>
<div style="">
<asp:Button class="btn btn-default" ID="DeleteBackground" runat="server" Text="Delete" OnClick="DeleteBackground_click" />
</div>
</LayoutTemplate>
.....
这两条线
if ((System.IO.File.Exists(fileName)))
System.IO.File.Delete(fileName);
一定是
if (System.IO.File.Exists(Server.MapPath(fileName)))
System.IO.File.Delete(Server.MapPath(fileName));
附言
检查
是否(fileName!=null | | fileName!=string.Empty)
是没有意义的,因为fileName从来都不是null或空的。当然,渲染器会重命名id=“checkbox1”,以便在项目列表视图中不具有相同的id。检查生成的html。当然,id不会等于“checkbox1”,而是类似于“ListView2\u ctrl0\u checkbox1”的内容。但是,itemRow.FindControl(“checkbox1”)应该可以正常工作。谢谢。我按照你的建议删除了if(fileName!=null | | fileName!=string.Empty)……我们每天都在学习新东西……哈哈
if (System.IO.File.Exists(Server.MapPath(fileName)))
System.IO.File.Delete(Server.MapPath(fileName));