1

アップロードされたファイル (.jpg、jpeg、gif など) を特定のフォルダーに表示する DataList があります。これには、従業員ドキュメントのすべてのスキャンされたコピーが含まれる「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 に答える