在像@Razor这样的aspx页面中呈现动态#的HTML控件

本文关键字:动态 控件 HTML @Razor aspx 在像 | 更新日期: 2023-09-27 18:25:05

我知道我们可以在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中执行此操作?

感谢

在像@Razor这样的aspx页面中呈现动态#的HTML控件

不能动态设置服务器控件的ID。此外,据我所知,在aspx中为for循环中的控件设置ImageUrl目录,就像在您的代码中一样,可能是不可能的——您可能应该看看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%>"/>
<% 
    }
%>