Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问Asp.net中DataList绑定项中的会话/变量值?_Asp.net_Session_Datalist - Fatal编程技术网

如何访问Asp.net中DataList绑定项中的会话/变量值?

如何访问Asp.net中DataList绑定项中的会话/变量值?,asp.net,session,datalist,Asp.net,Session,Datalist,我有一个数据列表,其中显示了特定文件夹中上载的文件(.jpg、jpeg、gif等),比如“EmpMainFolder”,其中包含员工文档的所有扫描副本。我想在数据列表中显示它。当我给出静态文件夹名时,下面的代码可以正常工作 以下代码适用于.aspx页面的DataList中的静态文件夹名称: <asp:DataList ID="DataList1" runat="server" RepeatColumns="5" CellPadding="5" OnItemCommand="DataList

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

以下代码适用于.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>

'** />


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

有什么想法吗? 谢谢你的帮助


<asp:Image Width="100" runat="server" ID="Image1" ImageUrl='<%#"~/Uploads/Employee/"+ Eval("Name").ToString()+"/" +Session["EmpMainFolder"] %>'/>
你可以这样用。但是你能解释一下你在ImageUrl绑定中做了什么吗。
您能否提供任何用户的完整路径以及url的可变部分。


你可以这样用。但是你能解释一下你在ImageUrl绑定中做了什么吗。

您能否提供任何用户的完整路径以及url的可变部分。

您可以通过Eval实现

<asp:LinkButton ID="lbldocnm" runat="server" CommandName="ViewDocument" CommandArgument='<%# "~/Uploads/Employee/" +  Session["EmpMainFolder"] + "/" + Eval("Name") %>'>View</asp:LinkButton> 
视图

您可以通过评估来实现

<asp:LinkButton ID="lbldocnm" runat="server" CommandName="ViewDocument" CommandArgument='<%# "~/Uploads/Employee/" +  Session["EmpMainFolder"] + "/" + Eval("Name") %>'>View</asp:LinkButton> 
视图

试试这样的方法

ImageURL='<%# GetImage((string)Eval("Name")) %>'
public static string GetImage(string name)
{

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

}

试试这样的东西

ImageURL='<%# GetImage((string)Eval("Name")) %>'
public static string GetImage(string name)
{

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

}

如果可以在aspx中实现,那么创建一个方法是一个好主意吗?@krshekhar-我认为这样做很好,如果你需要在网格列中获取价值的逻辑……如果它的直接价值比不需要它更大。@SHEKHARSHETE-欢迎不要忘记投票,如果它对你有用,请将其标记为已接受……这是一个好主意吗如果可以在aspx中创建一个方法的想法?@krshekhar-我认为这样做很好,如果您需要任何逻辑来在网格列中获取价值…如果它的直接价值比不需要它更大。@SHEKHARSHETE-欢迎不要忘记对答案进行投票,如果它对您有用,请将其标记为已接受…谢谢@krshekhar回复修改您的代码在一定程度上它工作良好。。。!感谢@krshekhar回复,在一定程度上修改了您的代码,效果很好。。。!