如何将字符串数组(在我的情况下是文件列表)绑定到中继器的项模板中的变量
本文关键字:中继器 绑定 变量 列表 文件 数组 字符串 情况下 我的 | 更新日期: 2023-09-27 18:25:46
如何将字符串数组(本例中为文件列表)绑定到项模板中的变量?
以下是我目前所掌握的内容,但我不确定如何处理itemdatabound背后的代码。
我正在尝试将每个url放入<%Photo_URL%>变量。
如有任何帮助,我们将不胜感激。
提前感谢。
页面代码
<asp:Repeater id="unorderedList" runat="server" OnItemDataBound="unorderedList_ItemDataBound">
<HeaderTemplate>
<ul class="thumbs noscript">
</HeaderTemplate>
<ItemTemplate>
<li>
<a class="thumb" href='<%# Photo_URL %>'>
<img src='<%# Photo_URL %>'>
</a>
<div class="caption">
<div class="download">
<a href='<%# Photo_URL %>'>Download Original</a>
</div>
</div>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
背后的代码
private void Page_Init(object sender, EventArgs e)
{
string[] photos = Directory.GetFiles(ImagesLocation);
unorderedList.DataSource = photos;
unorderedList.DataBind();
}
protected void unorderedList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//what goes here
}
<div class="download">
<a href='<%# Container.DataItem %>'>Download Original</a>
</div>
不需要ItemDataBound
事件,只需要使用<%# Container.DataItem %>
语法,如下所示:
<ItemTemplate>
<li>
<a class="thumb" href='<%# Photo_URL %>'>
<img src='<%# Container.DataItem %>'>
</a>
<div class="caption">
<div class="download">
<a href='<%# Container.DataItem %>'>Download Original</a>
</div>
</div>
</li>
您可以使用Container.DataItem
语法:
<asp:Repeater id="unorderedList" runat="server" OnItemDataBound="unorderedList_ItemDataBound">
<HeaderTemplate>
<ul class="thumbs noscript">
</HeaderTemplate>
<ItemTemplate>
<li>
<a class="thumb" href='<%#Container.DataItem%>'>
<img src='<%#Container.DataItem%>'>
</a>
<div class="caption">
<div class="download">
<a href='<%#Container.DataItem%>'>Download Original</a>
</div>
</div>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
您需要在ItemTemplate中添加一个GridView。将其DataSource
设置为<%# Eval("string_list_name") %>
,其中string_list_name是字符串列表的变量名。