c# - ASP 点网 : How to repeat HTML parts with minor differences on a page?

标签 c# asp.net

这是一个非常简单的问题。

我有这样的 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)到它之间,它可能会做您想要的。

Link 1 Link 2

<编辑:> 好的,既然我看到了你的代码,我可以更好地帮助你。我肯定会为此使用中继器。我会在 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/

相关文章:

ASP.NET MVC - WS 联合 - 单点注销

c# - GridView 的内联编辑

c# - mvvmcross 导航问题,出现异常 : Could not find view for [ViewModelName]

c# - 使用 C# 和 JSON.net 读取 JSON 文件

c# - MonoTouch Linq to XML 如何使 IF 语句内联

c# - 如何过滤 Sharepoint 中的查找字段?

mysql - 从类型 'DBNull' 到类型 'Double' 的转换无效

c# - 使用复选框通过 javascript 更改对象可见性?

c# - ASP.Net MVC3 - 将 Razor 标记作为参数传递

c# - 如何获取包含字符串的列表的索引