C# 从服务器删除图像

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

我正在编写一个代码,在Listview中选择图像并将其从服务器中删除。不幸的是,我无法删除任何图像,调试期间也没有错误。代码如下:

 <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));