我只是ASP.NET的初学者.我的问题很简单,我想从代码隐藏文件中动态添加列表项,我希望每个项目都有一个文本和几个图像作为超链接.HTML示例应该是,
<ul>
<li>do foo <a href="#"><img src="some_image.png" /></a></li>
<li>do bar <a href="#"><img src="some_image.png" /></a></li>
...
</ul>
Run Code Online (Sandbox Code Playgroud)
项目数取决于代码隐藏文件检索的集合.
PS我的代码隐藏文件是用C#编写的
Jef*_*nal 19
该Repeater控制是创建一个自定义的项目符号列表的最简单的方法,再加上它可以让你在生成HTML的完全控制.要使用它,请设置如下模板:
<ul>
<asp:Repeater runat="server" ID="ListRepeater">
<ItemTemplate>
<li>do foo <a href='#'><img src='<%# Eval("ImageSource") %>' /></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
Run Code Online (Sandbox Code Playgroud)
然后在您的代码隐藏中(或在您的标记中声明性地,取决于您的偏好),设置转发器的数据源并绑定它:
void Page_Load(object sender, EventArgs e) {
// Some method you've defined to get your images
List<string> imageList = GetImages();
ListRepeater.DataSource = imageList;
ListRepeater.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
ASP.NET为数据源中的每个项目呈现模板一次.
该Repeater控件具有比我在此处显示的功能更多的功能,但这应该可以帮助您入门.祝好运!
编辑:写完这个答案一年后,我仍然认为转发器是服务器控件中的最佳选择,但我越来越喜欢foreach我的.aspx模板中的语句:
<ul>
<% foreach(Image image in this.Images) { %>
<li>do foo <a href='#'><img src='<%= image.Source %>' /></a></li>
<% } %>
</ul>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14583 次 |
| 最近记录: |