0

eval を使用してデータベースから画像パスを取得しようとしましたが、cs 部分で別のパス名を取得します。

 <asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <asp:HiddenField ID="HiddenField1" Value='<%#Eval("Path")%>' runat="server" />
        <img alt="image" style="text-align: center" src="<%#Eval("Path")%>" /></a><asp:CheckBox
            ID="CheckBox1" runat="server" />
        <br></br>
    </ItemTemplate>
</asp:Repeater>

そして.csの部分で、このパス値を取得するために結びましたが、非常に異なるデータパスをもたらします

   foreach (RepeaterItem item in Repeater1.Items)
    {
        CheckBox ch = (CheckBox)item.FindControl("CheckBox1");
        HiddenField hf = (HiddenField)item.FindControl("HiddenField1");
        if (ch.Checked)
        {

            Image_BLLcs ibll = new Image_BLLcs();
            File.Delete(hf.Value);
            ibll.Delete(hf.Value);

        }

どうすればこれらの問題を解決できますか、助けてもらえますか?

たとえば、データベースのパスは同じimage/images (3).jpg ですが、このコードを実行すると、これ C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\image\images (3).jpgがパスとして表示されます。

4

1 に答える 1

0

Server.MapPath を使用して問題を解決しました

        File.Delete(Server.MapPath(hf.Value));
        ibll.Delete(Server.MapPath(hf.Value));
于 2013-03-08T07:57:04.233 に答える