这是一个非常简单的问题。
我有这样的 HTML 代码:
<div>
<img src="image1.jpg" alt="test1" />
</div>
<div>
<img src="image2.jpg" alt="test2" />
</div>
<div>
<img src="image3.jpg" alt="test3" />
</div>
等...
数据来自数据库(图像名称、替代文本)。
在 JAVA 中,我会做类似的事情:
将信息保存在后端的数组中。
对于演示文稿,我将使用 JSTL 遍历它:
<c:foeach items="${data}" var="${item}>
<div>
<img src="${item.image}" alt="${item.alt}" />
</div>
</c:foreach>
ASP.net 中的最佳实践是什么我只是不想在“代码隐藏”中创建一个包含 HTML 代码的字符串,IMO 很丑陋。
最佳答案
我会在看不到您的代码的情况下尝试一下:
检查 ASP:Repeater 控件。在此和将您的数据(带有您的差异)绑定(bind)到它之间,它可能会做您想要的。
<编辑:> 好的,既然我看到了你的代码,我可以更好地帮助你。我肯定会为此使用中继器。我会在 ASPX 文件中这样做(我可能有一些错误):
<ASP:Repeater id="MyRepeater" runat="server">
<div>
<img src="<%# Eval("Filename")>" alt="<$# Eval("AltText")>" />
</div>
</ASP:Repeater>
然后在您的 C# 中您可以:
List<ObjectWithFilenameAndAltText> foo = GoGetTheseObjects();
MyRepeater.DataSource = foo;
MyRepeater.DataBind();
我在这方面可能有一些错误,但我希望这能让你朝着正确的方向前进。如果您没有专门的图像对象,您可以简单地使用字典或列表>,并在 ASPX 代码中使用“Key”和“Value”。
关于c# - ASP 点网 : How to repeat HTML parts with minor differences on a page?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2479195/