1

我有一个 DataList,它在特定文件夹中显示上传的文件(.jpg、jpeg、gif 等),例如“EmpMainFolder”,其中包含员工文档的所有扫描副本。我想在 DataList 中显示它。当我给出静态文件夹名称时,以下代码可以正常工作。

以下代码适用于 .aspx 页面的 DataList 中的静态文件夹名称:

<asp:DataList ID="DataList1" runat="server" RepeatColumns="5" CellPadding="5" OnItemCommand="DataList1_ItemCommand">
            <ItemTemplate>
                <asp:Image Width="100" runat="server" ID="Image1" ImageUrl='<%# Bind("Name", "~/Uploads/Employee/{0}")%>' />
                <br />

                <asp:Label ID="Label1" Text='<%# Bind("Name") %>' runat="server" /><br />
                <asp:LinkButton ID="lbldocnm" runat="server" CommandName="ViewDocument" CommandArgument=**'<%# Bind("Name", "~/Uploads/Employee/{0}") %>'**>View</asp:LinkButton>
            </ItemTemplate>
            <ItemStyle BorderColor="Silver" BorderStyle="Dotted" BorderWidth="1px" HorizontalAlign="Center"
                VerticalAlign="Bottom" />
        </asp:DataList>

我想将会话中的当前员工文件夹名称设置为:

<asp:DataList ID="DataList1" runat="server" RepeatColumns="5" CellPadding="5" OnItemCommand="DataList1_ItemCommand">
        <ItemTemplate>
            <asp:Image Width="100" runat="server" ID="Image1" ImageUrl=**'<%# Bind("Name", "~/Uploads/Employee/%>'+ '<%#Session["EmpMainFolder"] %>'"+"/"+{0}")%>'** />
            <br />
 <asp:Label ID="Label1" Text='<%# Bind("Name") %>' runat="server" /><br />
 <asp:LinkButton ID="lbldocnm" runat="server" CommandName="ViewDocument" CommandArgument='<%# Bind("Name", "~/Uploads/Employee/{0}") %>'>View</asp:LinkButton>
 </ItemTemplate>
 <ItemStyle BorderColor="Silver" BorderStyle="Dotted" BorderWidth="1px" HorizontalAlign="Center"  VerticalAlign="Bottom" />
</asp:DataList>

但是,当文件夹名称通过会话动态设置时,它不会显示任何图像。

任何的想法?帮助表示赞赏!

4

3 回答 3

1
<asp:Image Width="100" runat="server" ID="Image1" ImageUrl='<%#"~/Uploads/Employee/"+ Eval("Name").ToString()+"/" +Session["EmpMainFolder"] %>'/>

你可以这样使用。但是你能解释一下你在ImageUrl的Bind中做了什么吗?
您能否提供任何用户的完整路径和 url 的可变部分。

于 2012-11-07T06:39:59.173 回答
0

您可以通过 Eval 实现

<asp:LinkButton ID="lbldocnm" runat="server" CommandName="ViewDocument" CommandArgument='<%# "~/Uploads/Employee/" +  Session["EmpMainFolder"] + "/" + Eval("Name") %>'>View</asp:LinkButton> 
于 2012-11-07T06:43:42.153 回答
0

试试这样的东西

ImageURL='<%# GetImage((string)Eval("Name")) %>'

写下这样的功能

public static string GetImage(string name)
{

        return "~/Uploads/Employee/"+ Session["EmpMainFolder"].ToString() + name;

}
于 2012-11-07T06:44:01.790 回答