我知道我们可以在aspx页面上放置一个占位符,然后从后端代码动态添加控件。在aspx页面中是否有类似@razor引擎的方法,我们可以直接在aspx页面中添加html控件?
<%
int count = GetImageCount();
for (int k = 0; k < count; k++)
{
string id = "img_" + k.ToString();
%>
<asp:Image runat="server" ImageAlign="Middle" />
<%
}
%>
我们可以使用上面的代码在aspx页面中添加多个Image控件,但是如何用不同的id和src设置它们呢?
或者,我们不能直接在aspx中执行此操作?
感谢
答案 0 :(得分:2)
您无法动态设置服务器控件的ID。另外,据我所知,在aspx中为for循环中的控件设置ImageUrl direclty可能是不可能的 - 你可能应该看看并asp:Repeater
控制。
要实现您的目标,您可能会发现使用HTML <img>
控件(如@Grundy建议)而不是asp:Image
控件的这段代码很有用:
<% int count = 5;
for (int i = 0; i < count; i++)
{
string id = "id_" + i;
string imageUrl = "/Images/img_" + i;
%>
<img id="<%=id%>" src="<%=imageUrl%>"/>
<%
}
%>