如何将某些html附加到具有特定类名的div?
前端:
<div class="school-team-popup"></div>
后端:
StringBuilder _html = new StringBuilder();
_html.AppendFormat("<li>Hi there</li>");
我想在school-team-popup div中添加_html。我怎么能从后端做到这一点?
答案 0 :(得分:1)
我将解释Web Forms的做事方式。
如果您有一些静态标记要在页面上有选择地显示/隐藏,那么通常可以通过设置控件的Visible属性来实现。
<%-- This is in your ASPX markup (.aspx) --%>
<asp:Panel runat="server" id="HelloWorldPanel">
<p>Hello, world!</p>
</asp:Panel>
//This is in your code behind (.aspx.cs)
//hide the panel
HelloWorldPanel.Visible = false;
//show the panel
HelloWorldPanel.Visible = true;
如果您尝试从其他来源获取动态数据并将其显示在页面上,您可以在页面上声明标记以显示此数据,然后将数据绑定到标记。有many controls you can bind data to。
可以绑定数据的控件的一个示例是转发器。当您想要严格控制在页面上呈现的标记时,中继器很好。您将它们绑定到某个可枚举对象(例如List<T>
),然后它将为可枚举对象中的每个元素重复一些标记。
//This is in your project somewhere
namespace MyNamespace
{
public class Product
{
public int Id { get; set; }
public int Name { get; set; }
}
}
<%-- This is in your ASPX markup (.aspx) --%>
<ul>
<asp:Repeater runat="server" id="ProductRepeater" ItemType="MyNamespace.Product">
<ItemTemplate>
<li><%#: Item.Id %> - <%#: Item.Name %></li>
</ItemTemplate>
</asp:Repeater>
</ul>
//this is in your code behind (.aspx.cs)
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostback)
{
List<Product> products = MyDataLayer.GetProducts();
ProductRepeater.DataSource = products;
ProductRepeater.DataBind();
}
}