Bir "bloğu" temsil etmek için bir kullanıcı denetimi oluştururken doğru bir yoldasınız, ancak eksik olduğunuz şey onları bir liste olarak gösterecek bir mekanizmadır.
ASP.NET Bunun birçok olası çözümler vardır, ancak en basit biri ListView
kontrolünü kullanmak olacaktır.
Bu sizin veri neye benzediğini bilmeden Örnek kodu sağlar, ancak Diyelim ki bir sınıf Block
denilen var varsayalım zor: diyelim, bir kullanıcı denetimi yaratacak,
public class Block
{
public string Title {get; set;}
public string Text { get; set; }
}
bir blok görüntülemek için BlockControl
:
Biçimlendirme:
<div style="margin:10px; padding:10px; background:#eee;">
<h2><%= Block.Title %></h2>
<%= Block.Text %>
</div>
kod arkadaki:
public partial class BlockControl : System.Web.UI.UserControl
{
//Note the public property, we'll use this to data bind the ListView's item to the user control
public Block Block { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
}
}
Daha sonra, .aspx sayfanızda, bir ASP.NET ListView denetimi bildirebilir ve verileri sunmak için ListView Öğesi Formunda BlockControl özelliğini kullanabilirsiniz. ListView'ın geçerli veri öğesini BlockControl.Block özelliğine nasıl bağlandığımıza dikkat edin.
<asp:ListView ID="BlockList" runat="server">
<ItemTemplate>
<uc:BlockControl Block="<%# Container.DataItem %>" runat="server" />
</ItemTemplate>
</asp:ListView>
.Verip kod arkasından, ListView veri kaynağını ayarlarsınız. Senin durumunda veri muhtemelen bir veritabanından geliyor, ama burada sadece bazı sahte veri var:
protected void Page_Load(object sender, EventArgs e)
{
List<Block> blocks = new List<Block>
{
new Block { Title = "Block1", Text="This is the block 1 content"},
new Block { Title = "Block2", Text="This is the block 2 content"}
};
this.BlockList.DataSource = blocks;
this.BlockList.DataBind();
}
Artık bir kullanıcı denetiminde kapsüllü tek bir blok sunumunu ve ListView mekanizmasına sağlar Verilerinizi temel alarak bu kullanıcı kontrollerinin değişken bir sayısını görüntüleyin.
Çok hoş geldiniz. – Amy